Coverage report: /home/ellis/comp/core/ffi/gstreamer/element.lisp
Kind | Covered | All | % |
expression | 0 | 46 | 0.0 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
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)
44
(define-alien-type gst-element
47
(state-lock grec-mutex)
48
(state-cookie (unsigned 32))
49
(target-state gst-state)
50
(current_state gst-state)
51
(next-state gst-state)
52
(pending-state gst-state)
53
(last-return gst-state-change-return)
56
(base-time gst-clock-time-diff)
57
(start-time gst-clock-time)
58
(numpads (unsigned 16))
60
(numsrcpads (unsigned 16))
62
(numsinkpads (unsigned 16))
64
(pads-cookie (unsigned 32))
66
(%gst-reserved (array gpointer #.(- +gst-padding+ 1)))))
68
(define-opaque gst-element-class)
70
(defar gst-element-get-type gtype)
72
(macrolet ((gst-elt (name ret &rest args)
73
`(defar ,(symbolicate "GST-ELEMENT-" name) ,ret (element (* gst-element)) ,@args)))
74
(gst-elt provide-clock (* gst-clock))
75
(gst-elt get-clock (* gst-clock))
76
(gst-elt set-clock boolean (clock (* gst-clock)))
77
(gst-elt set-base-time void (time gst-clock-time))
78
(gst-elt get-base-time gst-clock-time)
79
(gst-elt set-start-time void (time gst-clock-time))
80
(gst-elt get-current-running-time gst-clock-time)
81
(gst-elt get-current-clock-time gst-clock-time)
82
(gst-elt set-bus void (bus (* gst-bus)))
83
(gst-elt get-bus (* gst-bus))
84
(gst-elt set-context void (context (* gst-context)))
85
(gst-elt get-contexts (* glist))
86
(gst-elt get-context (* gst-context) (context-type c-string))
87
(gst-elt get-context-unlocked (* gst-context) (context-type c-string))
88
(gst-elt add-pad boolean (pad (* gst-pad)))
89
(gst-elt remove-pad boolean (pad (* gst-pad)))
90
(gst-elt no-more-pads void)
91
(gst-elt get-static-pad (* gst-pad) (name c-string))
92
;; deprecated: gst-element-get-request-pad
93
;; (gst-elt get-request-pad (* gst-pad) (name c-string))
94
(gst-elt request-pad-simple (* gst-pad) (name c-string))
96
;; (gst-elt request-pad (* gst-pad) (templ (* gst-pad-template)) (name c-string) (caps (* gst-caps)))
97
(gst-elt release-request-pad void (pad (* gst-pad)))
98
(gst-elt iterate-pads (* gst-iterator))
99
(gst-elt iterate-src-pads (* gst-iterator))
100
(gst-elt iterate-sink-pads (* gst-iterator)))
102
(defar gst-element-get-state gst-state-change-return
103
(element (* gst-element))
104
(state (* gst-state))
105
(pending (* gst-state))
106
(timeout gst-clock-time))
108
(defar gst-element-set-state gst-state-change-return (element (* gst-element)) (state gst-state))