Mercurial > core / lisp/ffi/gstreamer/element.lisp
changeset 698: |
96958d3eb5b0 |
parent: |
a2fe095379f9
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
1 ;;; element.lisp --- Gstreamer FFI Elements 6 (in-package :gstreamer) 9 (define-alien-enum (gst-state int) 15 (defun %state-change (state1 state2) 16 (logior (ash (gst-state state1) 3) (gst-state state2))) 18 (ash (gst-object-flags :last) n))) 20 (define-alien-enum (gst-state-change int) 21 :null-to-ready (%state-change :null :ready) 22 :ready-to-paused (%state-change :ready :paused) 23 :paused-to-playing (%state-change :paused :playing) 24 :paused-to-ready (%state-change :paused :ready) 25 :ready-to-null (%state-change :ready :null) 26 :paused-to-paused (%state-change :paused :paused) 27 :playing-to-playing (%state-change :playing :playing)) 29 (define-alien-enum (gst-state-change-return int) 35 (define-alien-enum (gst-element-flags int) 36 :locked-state (%elt-flag 0) 39 :provide-clock (%elt-flag 3) 40 :require-clock (%elt-flag 4) 41 :indexable (%elt-flag 5) 45 (define-opaque gst-element)) 47 (define-alien-type gst-element-t 50 (state-lock grec-mutex) 51 (state-cookie (unsigned 32)) 52 (target-state gst-state) 53 (current_state gst-state) 54 (next-state gst-state) 55 (pending-state gst-state) 56 (last-return gst-state-change-return) 59 (base-time gst-clock-time-diff) 60 (start-time gst-clock-time) 61 (numpads (unsigned 16)) 63 (numsrcpads (unsigned 16)) 65 (numsinkpads (unsigned 16)) 67 (pads-cookie (unsigned 32)) 69 (%gst-reserved (array gpointer #.(- +gst-padding+ 1))))) 71 (define-opaque gst-element-class) 73 (define-alien-routine gst-element-get-type gtype) 75 (macrolet ((gst-elt (name ret &rest args) 76 `(define-alien-routine ,(symbolicate "GST-ELEMENT-" name) ,ret (element (* gst-element)) ,@args))) 77 (gst-elt provide-clock (* gst-clock)) 78 (gst-elt get-clock (* gst-clock)) 79 (gst-elt set-clock boolean (clock (* gst-clock))) 80 (gst-elt set-base-time void (time gst-clock-time)) 81 (gst-elt get-base-time gst-clock-time) 82 (gst-elt set-start-time void (time gst-clock-time)) 83 (gst-elt get-current-running-time gst-clock-time) 84 (gst-elt get-current-clock-time gst-clock-time) 85 (gst-elt set-bus void (bus (* gst-bus))) 86 (gst-elt get-bus (* gst-bus)) 87 (gst-elt set-context void (context (* gst-context))) 88 (gst-elt get-contexts (* glist)) 89 (gst-elt get-context (* gst-context) (context-type c-string)) 90 (gst-elt get-context-unlocked (* gst-context) (context-type c-string)) 91 (gst-elt add-pad boolean (pad (* gst-pad))) 92 (gst-elt remove-pad boolean (pad (* gst-pad))) 93 (gst-elt no-more-pads void) 94 (gst-elt get-static-pad (* gst-pad) (name c-string)) 95 ;; deprecated: gst-element-get-request-pad 96 ;; (gst-elt get-request-pad (* gst-pad) (name c-string)) 97 (gst-elt request-pad-simple (* gst-pad) (name c-string)) 99 ;; (gst-elt request-pad (* gst-pad) (templ (* gst-pad-template)) (name c-string) (caps (* gst-caps))) 100 (gst-elt release-request-pad void (pad (* gst-pad))) 101 (gst-elt iterate-pads (* gst-iterator)) 102 (gst-elt iterate-src-pads (* gst-iterator)) 103 (gst-elt iterate-sink-pads (* gst-iterator)))