changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/ffi/gstreamer/pad.lisp

changeset 476: 52a5ffbba7ac
parent: 2ce4891d0661
author: Richard Westhaver <ellis@rwest.io>
date: Mon, 24 Jun 2024 23:03:42 -0400
permissions: -rw-r--r--
description: more gstreamer
1 ;;; pad.lisp --- Gstreamer FFI Pads
2 
3 ;;
4 
5 ;;; Code:
6 (in-package :gstreamer)
7 
8 (eval-always
9  (define-opaque gst-pad)
10  (define-opaque gst-pad-template))
11 
12 (define-alien-type gst-pad-private (* t))
13 
14 (define-alien-enum (gst-pad-presence int)
15  :always 0
16  :sometimes 1
17  :request 2)
18 
19 (define-alien-enum (gst-pad-template-flags int)
20  :last (ash (gst-object-flags :last) 4))
21 
22 (define-alien-enum (gst-pad-direction int)
23  :unknown 0
24  :src 1
25  :sink 2)
26 
27 (define-alien-enum (gst-pad-mode int)
28  :none 0
29  :push 1
30  :pull 2)
31 
32 (define-alien-type gst-pad-template-t
33  (struct gst-pad-template
34  (object gst-object-t)
35  (name-template c-string)
36  (direction gst-pad-direction)
37  (presence gst-pad-presence)
38  (caps (* gst-caps))
39  (abi (array gpointer #.+gst-padding+))))
40 
41 (define-alien-type gst-pad-activate-function (* t))
42 (define-alien-type gst-pad-activate-mode-function (* t))
43 (define-alien-type gst-pad-link-function (* t))
44 (define-alien-type gst-pad-unlink-function (* t))
45 (define-alien-type gst-pad-chain-function (* t))
46 (define-alien-type gst-pad-chain-list-function (* t))
47 (define-alien-type gst-pad-event-function (* t))
48 (define-alien-type gst-pad-query-function (* t))
49 (define-alien-type gst-pad-iter-int-link-function (* t))
50 
51 (define-alien-type gst-pad-t
52  (struct gst-pad
53  (object gst-object-t)
54  (element-private gpointer)
55  (padtemplate (* gst-pad-template))
56  (direction gst-pad-direction)
57  (stream-rec-lock grec-mutex)
58  (task (* gst-task))
59  (block-cond gcond)
60  (probes ghook-list)
61  (mode gst-pad-mode)
62  (activatefun gst-pad-activate-function)
63  (activatedata gpointer)
64  (activatenotify gdestroy-notify)
65  (activatemodefunc gst-pad-activate-mode-function)
66  (activatemodenotify gdestroy-notify)
67  (peer (* gst-pad))
68  (linkfunc gst-pad-link-function)
69  (linkdata gpointer)
70  (linknotify gdestroy-notify)
71  (unlinkfunc gst-pad-unlink-function)
72  (unlinkdata gpointer)
73  (unlinknotify gdestroy-notify)
74  (chainfunc gst-pad-chain-function)
75  (chaindata gpointer)
76  (chainnotify gdestroy-notify)
77  (chainlistfunc gst-pad-chain-list-function)
78  (chainlistdata gpointer)
79  (chainlistnotify gdestroy-notify)
80  (getrangedata gpointer)
81  (getrangenotify gdestroy-notify)
82  (eventfunc gst-pad-event-function)
83  (eventdata gpointer)
84  (eventnotify gdestroy-notify)
85  (offset (signed 64))
86  (queryfunc gst-pad-query-function)
87  (querydata gpointer)
88  (querynotify gdestroy-notify)
89  (iterintlinkfunc gst-pad-iter-int-link-function)
90  (iterintlinkdata gpointer)
91  (iterintlinknotify gdestroy-notify)
92  (num-probes int)
93  (num-blocked int)
94  (priv (* gst-pad-private))
95  (abi gpointer)))