summaryrefslogtreecommitdiff
path: root/multimedia/gstreamer1/plugins-base
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/gstreamer1/plugins-base')
-rw-r--r--multimedia/gstreamer1/plugins-base/CVS/Entries5
-rw-r--r--multimedia/gstreamer1/plugins-base/CVS/Repository1
-rw-r--r--multimedia/gstreamer1/plugins-base/Makefile60
-rw-r--r--multimedia/gstreamer1/plugins-base/distinfo2
-rw-r--r--multimedia/gstreamer1/plugins-base/files/CVS/Entries8
-rw-r--r--multimedia/gstreamer1/plugins-base/files/CVS/Repository1
-rw-r--r--multimedia/gstreamer1/plugins-base/files/gstsndio.c403
-rw-r--r--multimedia/gstreamer1/plugins-base/files/gstsndio.h79
-rw-r--r--multimedia/gstreamer1/plugins-base/files/meson.build19
-rw-r--r--multimedia/gstreamer1/plugins-base/files/sndiosink.c226
-rw-r--r--multimedia/gstreamer1/plugins-base/files/sndiosink.h57
-rw-r--r--multimedia/gstreamer1/plugins-base/files/sndiosrc.c228
-rw-r--r--multimedia/gstreamer1/plugins-base/files/sndiosrc.h57
-rw-r--r--multimedia/gstreamer1/plugins-base/patches/CVS/Entries5
-rw-r--r--multimedia/gstreamer1/plugins-base/patches/CVS/Repository1
-rw-r--r--multimedia/gstreamer1/plugins-base/patches/patch-ext_cdparanoia_gstcdparanoiasrc_c21
-rw-r--r--multimedia/gstreamer1/plugins-base/patches/patch-ext_meson_build9
-rw-r--r--multimedia/gstreamer1/plugins-base/patches/patch-gst_tcp_gstmultihandlesink_c14
-rw-r--r--multimedia/gstreamer1/plugins-base/patches/patch-meson_options_txt11
-rw-r--r--multimedia/gstreamer1/plugins-base/pkg/CVS/Entries3
-rw-r--r--multimedia/gstreamer1/plugins-base/pkg/CVS/Repository1
-rw-r--r--multimedia/gstreamer1/plugins-base/pkg/DESCR6
-rw-r--r--multimedia/gstreamer1/plugins-base/pkg/PLIST269
23 files changed, 0 insertions, 1486 deletions
diff --git a/multimedia/gstreamer1/plugins-base/CVS/Entries b/multimedia/gstreamer1/plugins-base/CVS/Entries
deleted file mode 100644
index 9ef7906..0000000
--- a/multimedia/gstreamer1/plugins-base/CVS/Entries
+++ /dev/null
@@ -1,5 +0,0 @@
1D/files////
2D/patches////
3D/pkg////
4/Makefile/1.105/Wed Feb 14 18:21:07 2024//
5/distinfo/1.71/Wed Feb 14 18:21:07 2024//
diff --git a/multimedia/gstreamer1/plugins-base/CVS/Repository b/multimedia/gstreamer1/plugins-base/CVS/Repository
deleted file mode 100644
index 77646a7..0000000
--- a/multimedia/gstreamer1/plugins-base/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
1ports/multimedia/gstreamer1/plugins-base
diff --git a/multimedia/gstreamer1/plugins-base/Makefile b/multimedia/gstreamer1/plugins-base/Makefile
deleted file mode 100644
index ea14807..0000000
--- a/multimedia/gstreamer1/plugins-base/Makefile
+++ /dev/null
@@ -1,60 +0,0 @@
1COMMENT= base elements for GStreamer
2
3DISTNAME= gst-plugins-base-${V}
4PKGNAME= ${GST_PKGNAME_PREFIX}-plugins-base-${V}
5
6SHARED_LIBS += gsttag-1.0 7.1 # 0.2210.0
7SHARED_LIBS += gstfft-1.0 7.1 # 0.2210.0
8SHARED_LIBS += gstvideo-1.0 7.1 # 0.2210.0
9SHARED_LIBS += gstaudio-1.0 7.1 # 0.2210.0
10SHARED_LIBS += gstrtp-1.0 7.1 # 0.2210.0
11SHARED_LIBS += gstpbutils-1.0 7.1 # 0.2210.0
12SHARED_LIBS += gstsdp-1.0 7.1 # 0.2210.0
13SHARED_LIBS += gstrtsp-1.0 7.1 # 0.2210.0
14SHARED_LIBS += gstriff-1.0 7.1 # 0.2210.0
15SHARED_LIBS += gstapp-1.0 7.1 # 0.2210.0
16SHARED_LIBS += gstallocators-1.0 6.1 # 0.2210.0
17SHARED_LIBS += gstgl-1.0 6.1 # 0.2210.0
18
19SITES= ${SITE_GST:=gst-plugins-base/}
20
21WANTLIB += EGL GL X11 X11-xcb Xext Xi Xv c cairo
22WANTLIB += glib-2.0 gmodule-2.0
23WANTLIB += gstbase-1.0 gstcontroller-1.0 gstnet-1.0
24WANTLIB += gstreamer-1.0 m jpeg png sndio xcb z
25
26LIB_DEPENDS= ${P}/core=${V} \
27 graphics/cairo \
28 graphics/jpeg \
29 graphics/png
30
31# optional dependency for the the gio plugin;
32# disabled because of cyclic build dependency:
33# x11/gtk+4 -> gst-plugins-{bad,base} -> gvfs -> gtk+4,-guic -> x11/gtk+4
34#RUN_DEPENDS += x11/gnome/gvfs
35
36CONFIGURE_ARGS= -Dalsa=disabled \
37 -Dlibvisual=disabled \
38 -Dtremor=disabled \
39 -Diso-codes=disabled \
40 -Dgl-graphene=disabled \
41 -Dgio=disabled \
42 -Dcdparanoia=disabled \
43 -Dogg=disabled \
44 -Dopus=disabled \
45 -Dpango=disabled \
46 -Dtheora=disabled \
47 -Dvorbis=disabled \
48 -Dexamples=disabled \
49 -Dtests=disabled \
50 -Dtools=disabled \
51 -Dintrospection=disabled \
52 -Dnls=disabled \
53 -Dorc=disabled
54
55DEBUG_PACKAGES= ${BUILD_PACKAGES}
56
57post-extract:
58 cp -R ${FILESDIR} ${WRKSRC}/ext/sndio
59
60.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1/plugins-base/distinfo b/multimedia/gstreamer1/plugins-base/distinfo
deleted file mode 100644
index 880a785..0000000
--- a/multimedia/gstreamer1/plugins-base/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
1SHA256 (gstreamer/gst-plugins-base-1.22.10.tar.xz) = hDo6LaKOHuau6lbdK+m//MO0u80Pl066Sr/DqjHwOZw=
2SIZE (gstreamer/gst-plugins-base-1.22.10.tar.xz) = 2371240
diff --git a/multimedia/gstreamer1/plugins-base/files/CVS/Entries b/multimedia/gstreamer1/plugins-base/files/CVS/Entries
deleted file mode 100644
index 07cbfbd..0000000
--- a/multimedia/gstreamer1/plugins-base/files/CVS/Entries
+++ /dev/null
@@ -1,8 +0,0 @@
1/sndiosink.h/1.1/Sat Sep 22 07:34:44 2012//
2/sndiosrc.h/1.1/Sat Sep 22 07:34:44 2012//
3/sndiosink.c/1.2/Mon Nov 3 08:38:19 2014//
4/gstsndio.c/1.4/Sun Apr 21 17:16:00 2019//
5/gstsndio.h/1.3/Sun Apr 21 17:16:00 2019//
6/sndiosrc.c/1.3/Sun Apr 21 17:16:00 2019//
7/meson.build/1.3/Wed Jan 25 18:20:48 2023//
8D
diff --git a/multimedia/gstreamer1/plugins-base/files/CVS/Repository b/multimedia/gstreamer1/plugins-base/files/CVS/Repository
deleted file mode 100644
index 1acee91..0000000
--- a/multimedia/gstreamer1/plugins-base/files/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
1ports/multimedia/gstreamer1/plugins-base/files
diff --git a/multimedia/gstreamer1/plugins-base/files/gstsndio.c b/multimedia/gstreamer1/plugins-base/files/gstsndio.c
deleted file mode 100644
index 45644db..0000000
--- a/multimedia/gstreamer1/plugins-base/files/gstsndio.c
+++ /dev/null
@@ -1,403 +0,0 @@
1/*
2 * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
3 * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifdef HAVE_CONFIG_H
19#include "config.h"
20#endif
21
22#include <stdio.h>
23#include "gstsndio.h"
24
25GST_DEBUG_CATEGORY (gst_sndio_debug);
26#define GST_CAT_DEFAULT gst_sndio_debug
27
28GType gst_sndiosink_get_type (void);
29GType gst_sndiosrc_get_type (void);
30
31static gboolean
32plugin_init (GstPlugin * plugin)
33{
34 GST_DEBUG_CATEGORY_INIT (gst_sndio_debug, "sndio", 0, "sndio plugins");
35
36 /* prefer sndiosrc over pulsesrc (GST_RANK_PRIMARY + 10) */
37 if (!gst_element_register (plugin, "sndiosrc", GST_RANK_PRIMARY + 20,
38 gst_sndiosrc_get_type()))
39 return FALSE;
40 /* prefer sndiosink over pulsesink (GST_RANK_PRIMARY + 10) */
41 if (!gst_element_register (plugin, "sndiosink", GST_RANK_PRIMARY + 20,
42 gst_sndiosink_get_type()))
43 return FALSE;
44 return TRUE;
45}
46
47GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
48 GST_VERSION_MINOR,
49 sndio,
50 "sndio plugin library",
51 plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
52
53/*
54 * common code to src and sink
55 */
56
57void
58gst_sndio_init (struct gstsndio *sio, GObject *obj)
59{
60 sio->obj = obj;
61 sio->hdl = NULL;
62 sio->device = g_strdup (SIO_DEVANY);
63 /* XXX not implemented; only used for src, not sink */
64 // sio->driver_timestamps = FALSE;
65}
66
67void
68gst_sndio_finalize (struct gstsndio *sio)
69{
70 gst_caps_replace (&sio->cur_caps, NULL);
71 g_free (sio->device);
72}
73
74GstCaps *
75gst_sndio_getcaps (struct gstsndio *sio, GstCaps * filter)
76{
77 if (sio->cur_caps == NULL) {
78 /* XXX */
79 GST_LOG_OBJECT (sio->obj, "getcaps called, returning template caps");
80 return NULL;
81 }
82
83 GST_LOG_OBJECT (sio->obj, "returning %" GST_PTR_FORMAT, sio->cur_caps);
84
85 if (filter) {
86 return gst_caps_intersect_full (filter,
87 sio->cur_caps, GST_CAPS_INTERSECT_FIRST);
88 } else {
89 return gst_caps_ref (sio->cur_caps);
90 }
91}
92
93static void
94gst_sndio_onvol (void *arg, unsigned int vol)
95{
96 struct gstsndio *sio = arg;
97 sio->volume = vol;
98 g_object_notify (G_OBJECT (sio->obj), "mute");
99 g_object_notify (G_OBJECT (sio->obj), "volume");
100}
101
102gboolean
103gst_sndio_open (struct gstsndio *sio, gint mode)
104{
105 GValue list = G_VALUE_INIT, item = G_VALUE_INIT;
106 GstStructure *s;
107 GstCaps *caps;
108 struct sio_enc *enc;
109 struct sio_cap cap;
110 char fmt[16];
111 int i, chan;
112
113 GST_DEBUG_OBJECT (sio->obj, "open");
114
115 sio->hdl = sio_open (sio->device, mode, 0);
116 if (sio->hdl == NULL) {
117 GST_ELEMENT_ERROR (sio->obj, RESOURCE, OPEN_READ_WRITE,
118 ("Couldn't open sndio device"), (NULL));
119 return FALSE;
120 }
121 sio->mode = mode;
122
123 if (!sio_getcap(sio->hdl, &cap)) {
124 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
125 ("Couldn't get device capabilities"), (NULL));
126 sio_close(sio->hdl);
127 sio->hdl = NULL;
128 return FALSE;
129 }
130 if (cap.nconf == 0) {
131 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
132 ("Device has empty capabilities"), (NULL));
133 sio_close(sio->hdl);
134 sio->hdl = NULL;
135 return FALSE;
136 }
137 sio_onvol (sio->hdl, gst_sndio_onvol, sio);
138
139 caps = gst_caps_new_empty ();
140 s = gst_structure_new ("audio/x-raw", (char *)NULL, (void *)NULL);
141
142 /*
143 * scan supported rates
144 */
145 g_value_init (&list, GST_TYPE_LIST);
146 g_value_init (&item, G_TYPE_INT);
147 for (i = 0; i < SIO_NRATE; i++) {
148 if ((cap.confs[0].rate & (1 << i)) == 0)
149 continue;
150 g_value_set_int(&item, cap.rate[i]);
151 gst_value_list_append_value (&list, &item);
152 }
153 gst_structure_set_value (s, "rate", &list);
154 g_value_unset (&item);
155 g_value_unset (&list);
156
157 /*
158 * scan supported channels
159 */
160 g_value_init (&list, GST_TYPE_LIST);
161 g_value_init (&item, G_TYPE_INT);
162 chan = (mode == SIO_PLAY) ? cap.confs[0].pchan : cap.confs[0].rchan;
163 for (i = 0; i < SIO_NCHAN; i++) {
164 if ((chan & (1 << i)) == 0)
165 continue;
166 g_value_set_int(&item, (mode == SIO_PLAY) ? cap.pchan[i] : cap.rchan[i]);
167 gst_value_list_append_value (&list, &item);
168 }
169 gst_structure_set_value (s, "channels", &list);
170 g_value_unset (&item);
171 g_value_unset (&list);
172
173 /*
174 * scan supported encodings
175 */
176 g_value_init (&list, GST_TYPE_LIST);
177 g_value_init (&item, G_TYPE_STRING);
178 for (i = 0; i < SIO_NENC; i++) {
179 if ((cap.confs[0].enc & (1 << i)) == 0)
180 continue;
181 enc = cap.enc + i;
182 if (enc->bits % 8 != 0)
183 continue;
184 if (enc->bits < enc->bps * 8 && enc->msb)
185 continue;
186 if (enc->bits == enc->bps * 8) {
187 snprintf(fmt, sizeof(fmt), "%s%u%s",
188 enc->sig ? "S" : "U",
189 enc->bits,
190 enc->bps > 1 ? (enc->le ? "LE" : "BE") : "");
191 } else {
192 snprintf(fmt, sizeof(fmt), "%s%u_%u%s",
193 enc->sig ? "S" : "U",
194 enc->bits,
195 enc->bps * 8,
196 enc->bps > 1 ? (enc->le ? "LE" : "BE") : "");
197 }
198 g_value_set_string(&item, fmt);
199 gst_value_list_append_value (&list, &item);
200 }
201 gst_structure_set_value (s, "format", &list);
202 g_value_unset (&item);
203 g_value_unset (&list);
204
205 /*
206 * add the only supported layout: interleaved
207 */
208 g_value_init (&item, G_TYPE_STRING);
209 g_value_set_string(&item, "interleaved");
210 gst_structure_set_value (s, "layout", &item);
211 g_value_unset (&item);
212
213 gst_caps_append_structure (caps, s);
214 sio->cur_caps = caps;
215 GST_DEBUG ("caps are %s", gst_caps_to_string(caps));
216 return TRUE;
217}
218
219gboolean
220gst_sndio_close (struct gstsndio *sio)
221{
222 GST_DEBUG_OBJECT (sio->obj, "close");
223
224 gst_caps_replace (&sio->cur_caps, NULL);
225 sio_close (sio->hdl);
226 sio->hdl = NULL;
227 return TRUE;
228}
229
230static void
231gst_sndio_cb (void *addr, int delta)
232{
233 struct gstsndio *sio = addr;
234
235 delta *= sio->bpf;
236 if (sio->mode == SIO_PLAY)
237 sio->delay -= delta;
238 else
239 sio->delay += delta;
240}
241
242gboolean
243gst_sndio_prepare (struct gstsndio *sio, GstAudioRingBufferSpec *spec)
244{
245 struct sio_par par, retpar;
246 unsigned nchannels;
247
248 GST_DEBUG_OBJECT (sio, "prepare");
249
250 if (spec->type != GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW) {
251 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
252 ("Only raw buffer format supported by sndio"), (NULL));
253 return FALSE;
254 }
255 if (!GST_AUDIO_INFO_IS_INTEGER(&spec->info)) {
256 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
257 ("Only integer format supported"), (NULL));
258 return FALSE;
259 }
260 if (GST_AUDIO_INFO_DEPTH(&spec->info) % 8) {
261 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
262 ("Only depths multiple of 8 are supported"), (NULL));
263 return FALSE;
264 }
265
266 sio_initpar (&par);
267 switch (GST_AUDIO_INFO_FORMAT (&spec->info)) {
268 case GST_AUDIO_FORMAT_S8:
269 case GST_AUDIO_FORMAT_U8:
270 case GST_AUDIO_FORMAT_S16LE:
271 case GST_AUDIO_FORMAT_S16BE:
272 case GST_AUDIO_FORMAT_U16LE:
273 case GST_AUDIO_FORMAT_U16BE:
274 case GST_AUDIO_FORMAT_S32LE:
275 case GST_AUDIO_FORMAT_S32BE:
276 case GST_AUDIO_FORMAT_U32LE:
277 case GST_AUDIO_FORMAT_U32BE:
278 case GST_AUDIO_FORMAT_S24_32LE:
279 case GST_AUDIO_FORMAT_S24_32BE:
280 case GST_AUDIO_FORMAT_U24_32LE:
281 case GST_AUDIO_FORMAT_U24_32BE:
282 case GST_AUDIO_FORMAT_S24LE:
283 case GST_AUDIO_FORMAT_S24BE:
284 case GST_AUDIO_FORMAT_U24LE:
285 case GST_AUDIO_FORMAT_U24BE:
286 break;
287 default:
288 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
289 ("Unsupported audio format"),
290 ("format = %d", GST_AUDIO_INFO_FORMAT (&spec->info)));
291 return FALSE;
292 }
293 par.sig = GST_AUDIO_INFO_IS_SIGNED(&spec->info);
294 par.bits = GST_AUDIO_INFO_WIDTH(&spec->info);
295 par.bps = GST_AUDIO_INFO_DEPTH(&spec->info) / 8;
296 if (par.bps > 1)
297 par.le = GST_AUDIO_INFO_IS_LITTLE_ENDIAN(&spec->info);
298 if (par.bits < par.bps * 8)
299 par.msb = 0;
300 par.rate = GST_AUDIO_INFO_RATE(&spec->info);
301 if (sio->mode == SIO_PLAY)
302 par.pchan = GST_AUDIO_INFO_CHANNELS(&spec->info);
303 else
304 par.rchan = GST_AUDIO_INFO_CHANNELS(&spec->info);
305 par.round = par.rate / 1000000. * spec->latency_time;
306 par.appbufsz = par.rate / 1000000. * spec->buffer_time;
307
308 if (!sio_setpar (sio->hdl, &par)) {
309 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
310 ("Unsupported audio encoding"), (NULL));
311 return FALSE;
312 }
313 if (!sio_getpar (sio->hdl, &retpar)) {
314 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
315 ("Couldn't get audio device parameters"), (NULL));
316 return FALSE;
317 }
318#if 0
319 GST_DEBUG ("format = %s, "
320 "requested: sig = %d, bits = %d, bps = %d, le = %d, msb = %d, "
321 "rate = %d, pchan = %d, round = %d, appbufsz = %d; "
322 "returned: sig = %d, bits = %d, bps = %d, le = %d, msb = %d, "
323 "rate = %d, pchan = %d, round = %d, appbufsz = %d, bufsz = %d",
324 GST_AUDIO_INFO_NAME(&spec->info),
325 par.sig, par.bits, par.bps, par.le, par.msb,
326 par.rate, par.pchan, par.round, par.appbufsz,
327 retpar.sig, retpar.bits, retpar.bps, retpar.le, retpar.msb,
328 retpar.rate, retpar.pchan, retpar.round, retpar.appbufsz, retpar.bufsz);
329#endif
330 if (par.bits != retpar.bits ||
331 par.bps != retpar.bps ||
332 par.rate != retpar.rate ||
333 (sio->mode == SIO_PLAY && par.pchan != retpar.pchan) ||
334 (sio->mode == SIO_REC && par.rchan != retpar.rchan) ||
335 (par.bps > 1 && par.le != retpar.le) ||
336 (par.bits < par.bps * 8 && par.msb != retpar.msb)) {
337 GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
338 ("Audio device refused requested parameters"), (NULL));
339 return FALSE;
340 }
341
342 nchannels = (sio->mode == SIO_PLAY) ? retpar.pchan : retpar.rchan;
343 spec->segsize = retpar.round * retpar.bps * nchannels;
344 spec->segtotal = retpar.bufsz / retpar.round;
345 sio->bpf = retpar.bps * nchannels;
346 sio->delay = 0;
347 sio_onmove (sio->hdl, gst_sndio_cb, sio);
348
349 if (!sio_start (sio->hdl)) {
350 GST_ELEMENT_ERROR (sio->obj, RESOURCE, OPEN_READ_WRITE,
351 ("Could not start sndio"), (NULL));
352 return FALSE;
353 }
354 return TRUE;
355}
356
357gboolean
358gst_sndio_unprepare (struct gstsndio *sio)
359{
360 if (sio->hdl)
361 sio_stop (sio->hdl);
362 return TRUE;
363}
364
365void
366gst_sndio_set_property (struct gstsndio *sio, guint prop_id,
367 const GValue * value, GParamSpec * pspec)
368{
369 switch (prop_id) {
370 case PROP_DEVICE:
371 g_free (sio->device);
372 sio->device = g_value_dup_string (value);
373 break;
374 case PROP_VOLUME:
375 sio_setvol (sio->hdl, g_value_get_double (value) * SIO_MAXVOL);
376 break;
377 case PROP_MUTE:
378 if (g_value_get_boolean (value))
379 sio_setvol (sio->hdl, 0);
380 break;
381 default:
382 break;
383 }
384}
385
386void
387gst_sndio_get_property (struct gstsndio *sio, guint prop_id,
388 GValue * value, GParamSpec * pspec)
389{
390 switch (prop_id) {
391 case PROP_DEVICE:
392 g_value_set_string (value, sio->device);
393 break;
394 case PROP_VOLUME:
395 g_value_set_double (value, (gdouble)sio->volume / SIO_MAXVOL);
396 break;
397 case PROP_MUTE:
398 g_value_set_boolean (value, (sio->volume == 0));
399 break;
400 default:
401 G_OBJECT_WARN_INVALID_PROPERTY_ID (sio->obj, prop_id, pspec);
402 }
403}
diff --git a/multimedia/gstreamer1/plugins-base/files/gstsndio.h b/multimedia/gstreamer1/plugins-base/files/gstsndio.h
deleted file mode 100644
index 1d54126..0000000
--- a/multimedia/gstreamer1/plugins-base/files/gstsndio.h
+++ /dev/null
@@ -1,79 +0,0 @@
1/*
2 * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16#ifndef __GST_SNDIO_H__
17#define __GST_SNDIO_H__
18
19#include <sndio.h>
20#include <gst/gst.h>
21#include <gst/audio/gstaudiosink.h>
22#include <gst/audio/gstaudiosrc.h>
23#include <gst/audio/streamvolume.h>
24
25enum
26{
27 PROP_0,
28 PROP_DEVICE,
29 PROP_VOLUME,
30 PROP_MUTE
31};
32
33#define GST_SNDIO_CAPS_STRING \
34 "audio/x-raw, " \
35 "format = (string) { " \
36 "S8, U8, " \
37 "S16LE, S16BE, U16LE, U16BE, " \
38 "S32LE, S32BE, U32LE, U32BE, " \
39 "S24_32LE, S24_32BE, U24_32LE, " \
40 "U24_32BE, S24LE, S24BE, U24LE, U24BE " \
41 "}, " \
42 "layout = (string) interleaved, " \
43 "rate = (int) [ 8000, 192000 ], " \
44 "channels = (int) [1, 16]"
45
46/*
47 * data common to src and sink
48 */
49struct gstsndio {
50 struct sio_hdl *hdl;
51 gchar *device;
52 gint mode;
53 gint bpf; /* bytes per frame */
54 gint delay; /* bytes stored in the audio fifo */
55 guint volume; /* volume level */
56 GstCaps *cur_caps; /* saved capabilities of opened device */
57 GObject *obj; /* for logging */
58 gboolean driver_timestamps;
59};
60
61#define GST_SNDIO_DELAY(s) ((s)->delay / (s)->bpf)
62
63void gst_sndio_init (struct gstsndio *sio, GObject *obj);
64void gst_sndio_finalize (struct gstsndio *sio);
65GstCaps *gst_sndio_getcaps (struct gstsndio *sio, GstCaps * filter);
66gboolean gst_sndio_open (struct gstsndio *sio, gint mode);
67gboolean gst_sndio_close (struct gstsndio *sio);
68gboolean gst_sndio_prepare (struct gstsndio *sio, GstAudioRingBufferSpec *spec);
69gboolean gst_sndio_unprepare (struct gstsndio *sio);
70void gst_sndio_set_property (struct gstsndio *sio, guint prop_id,
71 const GValue * value, GParamSpec * pspec);
72void gst_sndio_get_property (struct gstsndio *sio, guint prop_id,
73 GValue * value, GParamSpec * pspec);
74
75int gst_sndio_setpar(gpointer sio, GstAudioRingBufferSpec * spec,
76 int mode, struct sio_hdl *hdl);
77GstCaps *gst_sndio_caps (gpointer sio, int mode, struct sio_hdl *hdl);
78
79#endif
diff --git a/multimedia/gstreamer1/plugins-base/files/meson.build b/multimedia/gstreamer1/plugins-base/files/meson.build
deleted file mode 100644
index be10f22..0000000
--- a/multimedia/gstreamer1/plugins-base/files/meson.build
+++ /dev/null
@@ -1,19 +0,0 @@
1sndio_sources = [
2 'gstsndio.c',
3 'sndiosink.c',
4 'sndiosrc.c',
5]
6
7sndio_dep = dependency('sndio', required : get_option('sndio'))
8
9if sndio_dep.found()
10 gstsndio = library('gstsndio',
11 sndio_sources,
12 c_args : gst_plugins_base_args,
13 include_directories: [configinc, libsinc],
14 dependencies : [sndio_dep, audio_dep, tag_dep, gst_dep, gst_base_dep],
15 install : true,
16 install_dir : plugins_install_dir,
17 )
18 pkgconfig.generate(gstsndio, install_dir : plugins_pkgconfig_install_dir)
19endif
diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosink.c b/multimedia/gstreamer1/plugins-base/files/sndiosink.c
deleted file mode 100644
index cc68bd2..0000000
--- a/multimedia/gstreamer1/plugins-base/files/sndiosink.c
+++ /dev/null
@@ -1,226 +0,0 @@
1/*
2 * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
3 * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18/**
19 * SECTION:element-sndiosink
20 * @see_also: #GstAutoAudioSink
21 *
22 * <refsect2>
23 * <para>
24 * This element outputs sound to a sound card using sndio.
25 * </para>
26 * <para>
27 * Simple example pipeline that plays an Ogg/Vorbis file via sndio:
28 * <programlisting>
29 * gst-launch -v filesrc location=foo.ogg ! decodebin ! audioconvert ! audioresample ! sndiosink
30 * </programlisting>
31 * </para>
32 * </refsect2>
33 */
34
35#ifdef HAVE_CONFIG_H
36#include "config.h"
37#endif
38#include "sndiosink.h"
39
40GST_DEBUG_CATEGORY_EXTERN (gst_sndio_debug);
41#define GST_CAT_DEFAULT gst_sndio_debug
42
43#define gst_sndiosink_parent_class parent_class
44
45static GstStaticPadTemplate sndiosink_factory =
46 GST_STATIC_PAD_TEMPLATE ("sink",
47 GST_PAD_SINK,
48 GST_PAD_ALWAYS,
49 GST_STATIC_CAPS (GST_SNDIO_CAPS_STRING)
50 );
51
52G_DEFINE_TYPE_WITH_CODE (GstSndioSink, gst_sndiosink, GST_TYPE_AUDIO_SINK,
53 G_IMPLEMENT_INTERFACE (GST_TYPE_STREAM_VOLUME, NULL));
54
55static void gst_sndiosink_finalize (GObject * object);
56static GstCaps *gst_sndiosink_getcaps (GstBaseSink * bsink,
57 GstCaps * filter);
58static gboolean gst_sndiosink_open (GstAudioSink * asink);
59static gboolean gst_sndiosink_close (GstAudioSink * asink);
60static gboolean gst_sndiosink_prepare (GstAudioSink * asink,
61 GstAudioRingBufferSpec * spec);
62static gboolean gst_sndiosink_unprepare (GstAudioSink * asink);
63static gint gst_sndiosink_write (GstAudioSink * asink, gpointer data,
64 guint length);
65static guint gst_sndiosink_delay (GstAudioSink * asink);
66static void gst_sndiosink_reset (GstAudioSink * asink);
67static void gst_sndiosink_set_property (GObject * object, guint prop_id,
68 const GValue * value, GParamSpec * pspec);
69static void gst_sndiosink_get_property (GObject * object, guint prop_id,
70 GValue * value, GParamSpec * pspec);
71
72static void
73gst_sndiosink_init (GstSndioSink * sink)
74{
75 gst_sndio_init (&sink->sndio, G_OBJECT(sink));
76}
77
78static void
79gst_sndiosink_finalize (GObject * object)
80{
81 GstSndioSink *sink = GST_SNDIOSINK (object);
82
83 gst_sndio_finalize (&sink->sndio);
84 G_OBJECT_CLASS (parent_class)->finalize (object);
85}
86
87static GstCaps *
88gst_sndiosink_getcaps (GstBaseSink * bsink, GstCaps * filter)
89{
90 GstSndioSink *sink = GST_SNDIOSINK (bsink);
91
92 return gst_sndio_getcaps (&sink->sndio, filter);
93}
94
95static gboolean
96gst_sndiosink_open (GstAudioSink * asink)
97{
98 GstSndioSink *sink = GST_SNDIOSINK (asink);
99
100 return gst_sndio_open (&sink->sndio, SIO_PLAY);
101}
102
103static gboolean
104gst_sndiosink_close (GstAudioSink * asink)
105{
106 GstSndioSink *sink = GST_SNDIOSINK (asink);
107
108 return gst_sndio_close (&sink->sndio);
109}
110
111static gboolean
112gst_sndiosink_prepare (GstAudioSink * asink, GstAudioRingBufferSpec * spec)
113{
114 GstSndioSink *sink = GST_SNDIOSINK (asink);
115
116 return gst_sndio_prepare (&sink->sndio, spec);
117}
118
119static gboolean
120gst_sndiosink_unprepare (GstAudioSink * asink)
121{
122 GstSndioSink *sink = GST_SNDIOSINK (asink);
123
124 return gst_sndio_unprepare (&sink->sndio);
125}
126
127static gint
128gst_sndiosink_write (GstAudioSink * asink, gpointer data, guint length)
129{
130 GstSndioSink *sink = GST_SNDIOSINK (asink);
131 guint done;
132
133 if (length == 0)
134 return 0;
135 done = sio_write (sink->sndio.hdl, data, length);
136 if (done == 0) {
137 GST_ELEMENT_ERROR (sink, RESOURCE, WRITE,
138 ("Failed to write data to sndio"), (NULL));
139 return 0;
140 }
141 sink->sndio.delay += done;
142 return done;
143}
144
145static guint
146gst_sndiosink_delay (GstAudioSink * asink)
147{
148 GstSndioSink *sink = GST_SNDIOSINK (asink);
149
150 return GST_SNDIO_DELAY(&sink->sndio);
151}
152
153static void
154gst_sndiosink_reset (GstAudioSink * asink)
155{
156}
157
158static void
159gst_sndiosink_set_property (GObject * object, guint prop_id,
160 const GValue * value, GParamSpec * pspec)
161{
162 GstSndioSink *sink = GST_SNDIOSINK (object);
163
164 gst_sndio_set_property (&sink->sndio, prop_id, value, pspec);
165}
166
167static void
168gst_sndiosink_get_property (GObject * object, guint prop_id, GValue * value,
169 GParamSpec * pspec)
170{
171 GstSndioSink *sink = GST_SNDIOSINK (object);
172
173 gst_sndio_get_property (&sink->sndio, prop_id, value, pspec);
174}
175
176static void
177gst_sndiosink_class_init (GstSndioSinkClass * klass)
178{
179 GObjectClass *gobject_class;
180 GstElementClass *gstelement_class;
181 GstBaseSinkClass *gstbasesink_class;
182 GstAudioBaseSinkClass *gstbaseaudiosink_class;
183 GstAudioSinkClass *gstaudiosink_class;
184
185 gobject_class = (GObjectClass *) klass;
186 gstelement_class = (GstElementClass *) klass;
187 gstbasesink_class = (GstBaseSinkClass *) klass;
188 gstbaseaudiosink_class = (GstAudioBaseSinkClass *) klass;
189 gstaudiosink_class = (GstAudioSinkClass *) klass;
190
191 parent_class = g_type_class_peek_parent (klass);
192
193 gobject_class->finalize = gst_sndiosink_finalize;
194 gobject_class->get_property = gst_sndiosink_get_property;
195 gobject_class->set_property = gst_sndiosink_set_property;
196
197 gst_element_class_set_static_metadata (gstelement_class,
198 "Audio sink (sndio)", "Sink/Audio",
199 "Output to a sound card via sndio",
200 "Jacob Meuser <jakemsr@sdf.lonestar.org>");
201
202 gst_element_class_add_pad_template (gstelement_class,
203 gst_static_pad_template_get (&sndiosink_factory));
204
205 gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_sndiosink_getcaps);
206 gstaudiosink_class->open = GST_DEBUG_FUNCPTR (gst_sndiosink_open);
207 gstaudiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_sndiosink_prepare);
208 gstaudiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_sndiosink_unprepare);
209 gstaudiosink_class->close = GST_DEBUG_FUNCPTR (gst_sndiosink_close);
210 gstaudiosink_class->write = GST_DEBUG_FUNCPTR (gst_sndiosink_write);
211 gstaudiosink_class->delay = GST_DEBUG_FUNCPTR (gst_sndiosink_delay);
212 gstaudiosink_class->reset = GST_DEBUG_FUNCPTR (gst_sndiosink_reset);
213
214 g_object_class_install_property (gobject_class, PROP_DEVICE,
215 g_param_spec_string ("device", "Device",
216 "sndio device as defined in sndio(7)",
217 SIO_DEVANY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
218 g_object_class_install_property (gobject_class, PROP_VOLUME,
219 g_param_spec_double ("volume", "Volume",
220 "Linear volume of this stream, 1.0=100%", 0.0, 1.0,
221 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
222 g_object_class_install_property (gobject_class, PROP_MUTE,
223 g_param_spec_boolean ("mute", "Mute",
224 "Mute state of this stream", FALSE,
225 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
226}
diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosink.h b/multimedia/gstreamer1/plugins-base/files/sndiosink.h
deleted file mode 100644
index 314e622..0000000
--- a/multimedia/gstreamer1/plugins-base/files/sndiosink.h
+++ /dev/null
@@ -1,57 +0,0 @@
1/*
2 * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
3 * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18
19#ifndef __GST_SNDIOSINK_H__
20#define __GST_SNDIOSINK_H__
21
22#include <sndio.h>
23
24#include <gst/gst.h>
25#include <gst/audio/gstaudiosink.h>
26#include "gstsndio.h"
27
28G_BEGIN_DECLS
29
30#define GST_TYPE_SNDIOSINK \
31 (gst_sndiosink_get_type())
32#define GST_SNDIOSINK(obj) \
33 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SNDIOSINK,GstSndioSink))
34#define GST_SNDIOSINK_CLASS(klass) \
35 (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SNDIOSINK,GstSndioSinkClass))
36#define GST_IS_SNDIOSINK(obj) \
37 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SNDIOSINK))
38#define GST_IS_SNDIOSINK_CLASS(klass) \
39 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SNDIOSINK))
40
41typedef struct _GstSndioSink GstSndioSink;
42typedef struct _GstSndioSinkClass GstSndioSinkClass;
43
44struct _GstSndioSink {
45 GstAudioSink sink;
46 struct gstsndio sndio;
47};
48
49struct _GstSndioSinkClass {
50 GstAudioSinkClass parent_class;
51};
52
53GType gst_sndiosink_get_type (void);
54
55G_END_DECLS
56
57#endif /* __GST_SNDIOSINK_H__ */
diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosrc.c b/multimedia/gstreamer1/plugins-base/files/sndiosrc.c
deleted file mode 100644
index ee610e4..0000000
--- a/multimedia/gstreamer1/plugins-base/files/sndiosrc.c
+++ /dev/null
@@ -1,228 +0,0 @@
1/*
2 * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
3 * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18/**
19 * SECTION:element-sndiosrc
20 * @see_also: #GstAutoAudioSrc
21 *
22 * <refsect2>
23 * <para>
24 * This element retrieves samples from a sound card using sndio.
25 * </para>
26 * <para>
27 * Simple example pipeline that records an Ogg/Vorbis file via sndio:
28 * <programlisting>
29 * gst-launch -v sndiosrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=foo.ogg
30 * </programlisting>
31 * </para>
32 * </refsect2>
33 */
34
35#ifdef HAVE_CONFIG_H
36#include "config.h"
37#endif
38
39#include "sndiosrc.h"
40#include "gstsndio.h"
41
42GST_DEBUG_CATEGORY_EXTERN (gst_sndio_debug);
43#define GST_CAT_DEFAULT gst_sndio_debug
44
45#define gst_sndiosrc_parent_class parent_class
46G_DEFINE_TYPE_WITH_CODE (GstSndioSrc, gst_sndiosrc, GST_TYPE_AUDIO_SRC,
47 G_IMPLEMENT_INTERFACE (GST_TYPE_STREAM_VOLUME, NULL));
48
49static void gst_sndiosrc_finalize (GObject * object);
50static GstCaps *gst_sndiosrc_getcaps (GstBaseSrc * bsrc, GstCaps * filter);
51static gboolean gst_sndiosrc_open (GstAudioSrc * asrc);
52static gboolean gst_sndiosrc_close (GstAudioSrc * asrc);
53static gboolean gst_sndiosrc_prepare (GstAudioSrc * asrc,
54 GstAudioRingBufferSpec * spec);
55static gboolean gst_sndiosrc_unprepare (GstAudioSrc * asrc);
56static guint gst_sndiosrc_read (GstAudioSrc * asrc, gpointer data,
57 guint length, GstClockTime * timestamp);
58static guint gst_sndiosrc_delay (GstAudioSrc * asrc);
59static void gst_sndiosrc_reset (GstAudioSrc * asrc);
60static void gst_sndiosrc_set_property (GObject * object, guint prop_id,
61 const GValue * value, GParamSpec * pspec);
62static void gst_sndiosrc_get_property (GObject * object,
63 guint prop_id, GValue * value, GParamSpec * pspec);
64
65static GstStaticPadTemplate sndiosrc_factory =
66 GST_STATIC_PAD_TEMPLATE ("src",
67 GST_PAD_SRC,
68 GST_PAD_ALWAYS,
69 GST_STATIC_CAPS (GST_SNDIO_CAPS_STRING)
70 );
71
72static void
73gst_sndiosrc_init (GstSndioSrc * src)
74{
75 gst_sndio_init (&src->sndio, G_OBJECT(src));
76 /* XXX not implemented */
77 src->sndio.driver_timestamps = FALSE;
78}
79
80static void
81gst_sndiosrc_finalize (GObject * object)
82{
83 GstSndioSrc *src = GST_SNDIOSRC (object);
84
85 gst_sndio_finalize (&src->sndio);
86 G_OBJECT_CLASS (parent_class)->finalize (object);
87}
88
89static GstCaps *
90gst_sndiosrc_getcaps (GstBaseSrc * bsrc, GstCaps * filter)
91{
92 GstSndioSrc *src = GST_SNDIOSRC (bsrc);
93
94 return gst_sndio_getcaps (&src->sndio, filter);
95}
96
97static gboolean
98gst_sndiosrc_open (GstAudioSrc * asrc)
99{
100 GstSndioSrc *src = GST_SNDIOSRC (asrc);
101
102 return gst_sndio_open (&src->sndio, SIO_REC);
103}
104
105static gboolean
106gst_sndiosrc_close (GstAudioSrc * asrc)
107{
108 GstSndioSrc *src = GST_SNDIOSRC (asrc);
109
110 return gst_sndio_close (&src->sndio);
111}
112
113static gboolean
114gst_sndiosrc_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec)
115{
116 GstSndioSrc *src = GST_SNDIOSRC (asrc);
117
118 return gst_sndio_prepare (&src->sndio, spec);
119}
120
121static gboolean
122gst_sndiosrc_unprepare (GstAudioSrc * asrc)
123{
124 GstSndioSrc *src = GST_SNDIOSRC (asrc);
125
126 return gst_sndio_unprepare (&src->sndio);
127}
128
129static guint
130gst_sndiosrc_read (GstAudioSrc * asrc, gpointer data, guint length,
131 GstClockTime * timestamp)
132{
133 GstSndioSrc *src = GST_SNDIOSRC (asrc);
134 guint done;
135
136 if (length == 0)
137 return 0;
138 done = sio_read (src->sndio.hdl, data, length);
139 if (done == 0) {
140 GST_ELEMENT_ERROR (src, RESOURCE, READ,
141 ("Failed to read data from sndio"), (NULL));
142 return 0;
143 }
144 src->sndio.delay -= done;
145 return done;
146}
147
148static guint
149gst_sndiosrc_delay (GstAudioSrc * asrc)
150{
151 GstSndioSrc *src = GST_SNDIOSRC (asrc);
152
153 return GST_SNDIO_DELAY(&src->sndio);
154}
155
156static void
157gst_sndiosrc_reset (GstAudioSrc * asrc)
158{
159}
160
161static void
162gst_sndiosrc_set_property (GObject * object, guint prop_id,
163 const GValue * value, GParamSpec * pspec)
164{
165 GstSndioSrc *src = GST_SNDIOSRC (object);
166
167 gst_sndio_set_property (&src->sndio, prop_id, value, pspec);
168}
169
170static void
171gst_sndiosrc_get_property (GObject * object, guint prop_id, GValue * value,
172 GParamSpec * pspec)
173{
174 GstSndioSrc *src = GST_SNDIOSRC (object);
175
176 gst_sndio_get_property (&src->sndio, prop_id, value, pspec);
177}
178
179static void
180gst_sndiosrc_class_init (GstSndioSrcClass * klass)
181{
182 GObjectClass *gobject_class;
183 GstElementClass *gstelement_class;
184 GstBaseSrcClass *gstbasesrc_class;
185 GstAudioBaseSrcClass *gstbaseaudiosrc_class;
186 GstAudioSrcClass *gstaudiosrc_class;
187 gobject_class = (GObjectClass *) klass;
188 gstelement_class = (GstElementClass *) klass;
189 gstbasesrc_class = (GstBaseSrcClass *) klass;
190 gstbaseaudiosrc_class = (GstAudioBaseSrcClass *) klass;
191 gstaudiosrc_class = (GstAudioSrcClass *) klass;
192
193 parent_class = g_type_class_peek_parent (klass);
194
195 gobject_class->finalize = gst_sndiosrc_finalize;
196 gobject_class->get_property = gst_sndiosrc_get_property;
197 gobject_class->set_property = gst_sndiosrc_set_property;
198
199 gst_element_class_set_static_metadata (gstelement_class,
200 "Audio src (sndio)", "Src/Audio",
201 "Input from a sound card via sndio",
202 "Jacob Meuser <jakemsr@sdf.lonestar.org>");
203
204 gst_element_class_add_pad_template (gstelement_class,
205 gst_static_pad_template_get (&sndiosrc_factory));
206
207 gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_sndiosrc_getcaps);
208 gstaudiosrc_class->open = GST_DEBUG_FUNCPTR (gst_sndiosrc_open);
209 gstaudiosrc_class->prepare = GST_DEBUG_FUNCPTR (gst_sndiosrc_prepare);
210 gstaudiosrc_class->unprepare = GST_DEBUG_FUNCPTR (gst_sndiosrc_unprepare);
211 gstaudiosrc_class->close = GST_DEBUG_FUNCPTR (gst_sndiosrc_close);
212 gstaudiosrc_class->read = GST_DEBUG_FUNCPTR (gst_sndiosrc_read);
213 gstaudiosrc_class->delay = GST_DEBUG_FUNCPTR (gst_sndiosrc_delay);
214 gstaudiosrc_class->reset = GST_DEBUG_FUNCPTR (gst_sndiosrc_reset);
215
216 g_object_class_install_property (gobject_class, PROP_DEVICE,
217 g_param_spec_string ("device", "Device",
218 "sndio device as defined in sndio(7)",
219 SIO_DEVANY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
220 g_object_class_install_property (gobject_class, PROP_VOLUME,
221 g_param_spec_double ("volume", "Volume",
222 "Linear volume of this stream, 1.0=100%", 0.0, 1.0,
223 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
224 g_object_class_install_property (gobject_class, PROP_MUTE,
225 g_param_spec_boolean ("mute", "Mute",
226 "Mute state of this stream", FALSE,
227 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
228}
diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosrc.h b/multimedia/gstreamer1/plugins-base/files/sndiosrc.h
deleted file mode 100644
index 83fd29c..0000000
--- a/multimedia/gstreamer1/plugins-base/files/sndiosrc.h
+++ /dev/null
@@ -1,57 +0,0 @@
1/*
2 * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
3 * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18
19#ifndef __GST_SNDIOSRC_H__
20#define __GST_SNDIOSRC_H__
21
22#include <sndio.h>
23
24#include <gst/gst.h>
25#include <gst/audio/gstaudiosrc.h>
26#include "gstsndio.h"
27
28G_BEGIN_DECLS
29
30#define GST_TYPE_SNDIOSRC \
31 (gst_sndiosrc_get_type())
32#define GST_SNDIOSRC(obj) \
33 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SNDIOSRC,GstSndioSrc))
34#define GST_SNDIOSRC_CLASS(klass) \
35 (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SNDIOSRC,GstSndioSrcClass))
36#define GST_IS_SNDIOSRC(obj) \
37 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SNDIOSRC))
38#define GST_IS_SNDIOSRC_CLASS(klass) \
39 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SNDIOSRC))
40
41typedef struct _GstSndioSrc GstSndioSrc;
42typedef struct _GstSndioSrcClass GstSndioSrcClass;
43
44struct _GstSndioSrc {
45 GstAudioSrc src;
46 struct gstsndio sndio;
47};
48
49struct _GstSndioSrcClass {
50 GstAudioSrcClass parent_class;
51};
52
53GType gst_sndiosrc_get_type (void);
54
55G_END_DECLS
56
57#endif /* __GST_SNDIOSRC_H__ */
diff --git a/multimedia/gstreamer1/plugins-base/patches/CVS/Entries b/multimedia/gstreamer1/plugins-base/patches/CVS/Entries
deleted file mode 100644
index 123e6b9..0000000
--- a/multimedia/gstreamer1/plugins-base/patches/CVS/Entries
+++ /dev/null
@@ -1,5 +0,0 @@
1/patch-ext_cdparanoia_gstcdparanoiasrc_c/1.6/Sat Mar 12 08:17:10 2022//
2/patch-ext_meson_build/1.2/Sat Mar 12 08:17:10 2022//
3/patch-gst_tcp_gstmultihandlesink_c/1.7/Sat Mar 12 08:17:10 2022//
4/patch-meson_options_txt/1.4/Wed Jan 25 18:20:48 2023//
5D
diff --git a/multimedia/gstreamer1/plugins-base/patches/CVS/Repository b/multimedia/gstreamer1/plugins-base/patches/CVS/Repository
deleted file mode 100644
index c9c872f..0000000
--- a/multimedia/gstreamer1/plugins-base/patches/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
1ports/multimedia/gstreamer1/plugins-base/patches
diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-ext_cdparanoia_gstcdparanoiasrc_c b/multimedia/gstreamer1/plugins-base/patches/patch-ext_cdparanoia_gstcdparanoiasrc_c
deleted file mode 100644
index 203fc05..0000000
--- a/multimedia/gstreamer1/plugins-base/patches/patch-ext_cdparanoia_gstcdparanoiasrc_c
+++ /dev/null
@@ -1,21 +0,0 @@
1XXX old cdparanoia-3.a9.8 (cdparanoia-III-9.8) does not have cache control.
2
3Index: ext/cdparanoia/gstcdparanoiasrc.c
4--- ext/cdparanoia/gstcdparanoiasrc.c.orig
5+++ ext/cdparanoia/gstcdparanoiasrc.c
6@@ -259,6 +259,7 @@ gst_cd_paranoia_src_open (GstAudioCdSrc * audiocdsrc,
7 GST_INFO_OBJECT (src, "search overlap set to %u", src->search_overlap);
8 }
9
10+#ifdef PARANOIA_CB_CACHEERR
11 cache_size = src->cache_size;
12 if (cache_size == -1) {
13 /* if paranoia mode is low (the default), assume we're doing playback */
14@@ -269,6 +270,7 @@ gst_cd_paranoia_src_open (GstAudioCdSrc * audiocdsrc,
15 }
16 paranoia_cachemodel_size (src->p, cache_size);
17 GST_INFO_OBJECT (src, "set cachemodel size to %u", cache_size);
18+#endif
19
20 src->next_sector = -1;
21
diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-ext_meson_build b/multimedia/gstreamer1/plugins-base/patches/patch-ext_meson_build
deleted file mode 100644
index 4943153..0000000
--- a/multimedia/gstreamer1/plugins-base/patches/patch-ext_meson_build
+++ /dev/null
@@ -1,9 +0,0 @@
1Index: ext/meson.build
2--- ext/meson.build.orig
3+++ ext/meson.build
4@@ -1,4 +1,5 @@
5 subdir('alsa')
6+subdir('sndio')
7 subdir('cdparanoia')
8 subdir('gl')
9 subdir('libvisual')
diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-gst_tcp_gstmultihandlesink_c b/multimedia/gstreamer1/plugins-base/patches/patch-gst_tcp_gstmultihandlesink_c
deleted file mode 100644
index 5f58fae..0000000
--- a/multimedia/gstreamer1/plugins-base/patches/patch-gst_tcp_gstmultihandlesink_c
+++ /dev/null
@@ -1,14 +0,0 @@
1gstmultihandlesink.c:542: error: field 'sa' has incomplete type
2gstmultihandlesink.c:544: error: field 'sa_stor' has incomplete type
3
4Index: gst/tcp/gstmultihandlesink.c
5--- gst/tcp/gstmultihandlesink.c.orig
6+++ gst/tcp/gstmultihandlesink.c
7@@ -35,6 +35,7 @@
8 #endif
9
10 #ifndef G_OS_WIN32
11+#include <sys/socket.h>
12 #include <netinet/in.h>
13 #endif
14
diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-meson_options_txt b/multimedia/gstreamer1/plugins-base/patches/patch-meson_options_txt
deleted file mode 100644
index 8c276a2..0000000
--- a/multimedia/gstreamer1/plugins-base/patches/patch-meson_options_txt
+++ /dev/null
@@ -1,11 +0,0 @@
1Index: meson_options.txt
2--- meson_options.txt.orig
3+++ meson_options.txt
4@@ -53,6 +53,7 @@ option('volume', type : 'feature', value : 'auto')
5
6 # Feature options for plugins with external deps
7 option('alsa', type : 'feature', value : 'auto', description : 'ALSA audio source/sink plugin')
8+option('sndio', type : 'feature', value : 'auto', description : 'SNDIO audio source/sink plugin')
9 option('cdparanoia', type : 'feature', value : 'auto', description : 'cdparanoia plugin')
10 option('libvisual', type : 'feature', value : 'auto', description : 'libvisual audio visualization plugin')
11 option('ogg', type : 'feature', value : 'auto', description : 'ogg parser, muxer, demuxer plugin')
diff --git a/multimedia/gstreamer1/plugins-base/pkg/CVS/Entries b/multimedia/gstreamer1/plugins-base/pkg/CVS/Entries
deleted file mode 100644
index 2b6eff1..0000000
--- a/multimedia/gstreamer1/plugins-base/pkg/CVS/Entries
+++ /dev/null
@@ -1,3 +0,0 @@
1/DESCR/1.2/Tue Sep 24 18:29:17 2013//
2/PLIST/1.24/Sat Nov 25 18:20:23 2023//
3D
diff --git a/multimedia/gstreamer1/plugins-base/pkg/CVS/Repository b/multimedia/gstreamer1/plugins-base/pkg/CVS/Repository
deleted file mode 100644
index d7bb637..0000000
--- a/multimedia/gstreamer1/plugins-base/pkg/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
1ports/multimedia/gstreamer1/plugins-base/pkg
diff --git a/multimedia/gstreamer1/plugins-base/pkg/DESCR b/multimedia/gstreamer1/plugins-base/pkg/DESCR
deleted file mode 100644
index 88226d4..0000000
--- a/multimedia/gstreamer1/plugins-base/pkg/DESCR
+++ /dev/null
@@ -1,6 +0,0 @@
1This is GStreamer, a framework for streaming media.
2This package contains the "base" elements for gstreamer-${API}.
3
4A well-groomed and well-maintained collection of GStreamer plug-ins and
5elements, spanning the range of possible types of elements one would
6want to write for GStreamer.
diff --git a/multimedia/gstreamer1/plugins-base/pkg/PLIST b/multimedia/gstreamer1/plugins-base/pkg/PLIST
deleted file mode 100644
index e3c85de..0000000
--- a/multimedia/gstreamer1/plugins-base/pkg/PLIST
+++ /dev/null
@@ -1,269 +0,0 @@
1@conflict gstreamer1-plugins-bad-<1.14.0
2include/gstreamer-${API}/
3include/gstreamer-${API}/gst/
4include/gstreamer-${API}/gst/allocators/
5include/gstreamer-${API}/gst/allocators/allocators-prelude.h
6include/gstreamer-${API}/gst/allocators/allocators.h
7include/gstreamer-${API}/gst/allocators/gstdmabuf.h
8include/gstreamer-${API}/gst/allocators/gstfdmemory.h
9include/gstreamer-${API}/gst/allocators/gstphysmemory.h
10include/gstreamer-${API}/gst/app/
11include/gstreamer-${API}/gst/app/app-enumtypes.h
12include/gstreamer-${API}/gst/app/app-prelude.h
13include/gstreamer-${API}/gst/app/app.h
14include/gstreamer-${API}/gst/app/gstappsink.h
15include/gstreamer-${API}/gst/app/gstappsrc.h
16include/gstreamer-${API}/gst/audio/
17include/gstreamer-${API}/gst/audio/audio-buffer.h
18include/gstreamer-${API}/gst/audio/audio-channel-mixer.h
19include/gstreamer-${API}/gst/audio/audio-channels.h
20include/gstreamer-${API}/gst/audio/audio-converter.h
21include/gstreamer-${API}/gst/audio/audio-enumtypes.h
22include/gstreamer-${API}/gst/audio/audio-format.h
23include/gstreamer-${API}/gst/audio/audio-info.h
24include/gstreamer-${API}/gst/audio/audio-prelude.h
25include/gstreamer-${API}/gst/audio/audio-quantize.h
26include/gstreamer-${API}/gst/audio/audio-resampler.h
27include/gstreamer-${API}/gst/audio/audio.h
28include/gstreamer-${API}/gst/audio/gstaudioaggregator.h
29include/gstreamer-${API}/gst/audio/gstaudiobasesink.h
30include/gstreamer-${API}/gst/audio/gstaudiobasesrc.h
31include/gstreamer-${API}/gst/audio/gstaudiocdsrc.h
32include/gstreamer-${API}/gst/audio/gstaudioclock.h
33include/gstreamer-${API}/gst/audio/gstaudiodecoder.h
34include/gstreamer-${API}/gst/audio/gstaudioencoder.h
35include/gstreamer-${API}/gst/audio/gstaudiofilter.h
36include/gstreamer-${API}/gst/audio/gstaudioiec61937.h
37include/gstreamer-${API}/gst/audio/gstaudiometa.h
38include/gstreamer-${API}/gst/audio/gstaudioringbuffer.h
39include/gstreamer-${API}/gst/audio/gstaudiosink.h
40include/gstreamer-${API}/gst/audio/gstaudiosrc.h
41include/gstreamer-${API}/gst/audio/gstaudiostreamalign.h
42include/gstreamer-${API}/gst/audio/streamvolume.h
43include/gstreamer-${API}/gst/fft/
44include/gstreamer-${API}/gst/fft/fft-prelude.h
45include/gstreamer-${API}/gst/fft/fft.h
46include/gstreamer-${API}/gst/fft/gstfft.h
47include/gstreamer-${API}/gst/fft/gstfftf32.h
48include/gstreamer-${API}/gst/fft/gstfftf64.h
49include/gstreamer-${API}/gst/fft/gstffts16.h
50include/gstreamer-${API}/gst/fft/gstffts32.h
51include/gstreamer-${API}/gst/gl/
52include/gstreamer-${API}/gst/gl/egl/
53include/gstreamer-${API}/gst/gl/egl/egl.h
54include/gstreamer-${API}/gst/gl/egl/gstegl.h
55include/gstreamer-${API}/gst/gl/egl/gsteglimage.h
56include/gstreamer-${API}/gst/gl/egl/gstgldisplay_egl.h
57include/gstreamer-${API}/gst/gl/egl/gstgldisplay_egl_device.h
58include/gstreamer-${API}/gst/gl/egl/gstglmemoryegl.h
59include/gstreamer-${API}/gst/gl/gl-enumtypes.h
60include/gstreamer-${API}/gst/gl/gl-prelude.h
61include/gstreamer-${API}/gst/gl/gl.h
62include/gstreamer-${API}/gst/gl/glprototypes/
63include/gstreamer-${API}/gst/gl/glprototypes/all_functions.h
64include/gstreamer-${API}/gst/gl/glprototypes/base.h
65include/gstreamer-${API}/gst/gl/glprototypes/blending.h
66include/gstreamer-${API}/gst/gl/glprototypes/buffer_storage.h
67include/gstreamer-${API}/gst/gl/glprototypes/buffers.h
68include/gstreamer-${API}/gst/gl/glprototypes/debug.h
69include/gstreamer-${API}/gst/gl/glprototypes/eglimage.h
70include/gstreamer-${API}/gst/gl/glprototypes/fbo.h
71include/gstreamer-${API}/gst/gl/glprototypes/fixedfunction.h
72include/gstreamer-${API}/gst/gl/glprototypes/gles.h
73include/gstreamer-${API}/gst/gl/glprototypes/gstgl_compat.h
74include/gstreamer-${API}/gst/gl/glprototypes/gstgl_gles2compat.h
75include/gstreamer-${API}/gst/gl/glprototypes/opengl.h
76include/gstreamer-${API}/gst/gl/glprototypes/query.h
77include/gstreamer-${API}/gst/gl/glprototypes/shaders.h
78include/gstreamer-${API}/gst/gl/glprototypes/sync.h
79include/gstreamer-${API}/gst/gl/glprototypes/vao.h
80include/gstreamer-${API}/gst/gl/gstgl_enums.h
81include/gstreamer-${API}/gst/gl/gstgl_fwd.h
82include/gstreamer-${API}/gst/gl/gstglapi.h
83include/gstreamer-${API}/gst/gl/gstglbasefilter.h
84include/gstreamer-${API}/gst/gl/gstglbasememory.h
85include/gstreamer-${API}/gst/gl/gstglbasesrc.h
86include/gstreamer-${API}/gst/gl/gstglbuffer.h
87include/gstreamer-${API}/gst/gl/gstglbufferpool.h
88include/gstreamer-${API}/gst/gl/gstglcolorconvert.h
89include/gstreamer-${API}/gst/gl/gstglcontext.h
90include/gstreamer-${API}/gst/gl/gstglcontextconfig.h
91include/gstreamer-${API}/gst/gl/gstgldebug.h
92include/gstreamer-${API}/gst/gl/gstgldisplay.h
93include/gstreamer-${API}/gst/gl/gstglfeature.h
94include/gstreamer-${API}/gst/gl/gstglfilter.h
95include/gstreamer-${API}/gst/gl/gstglformat.h
96include/gstreamer-${API}/gst/gl/gstglframebuffer.h
97include/gstreamer-${API}/gst/gl/gstglfuncs.h
98include/gstreamer-${API}/gst/gl/gstglmemory.h
99include/gstreamer-${API}/gst/gl/gstglmemorypbo.h
100include/gstreamer-${API}/gst/gl/gstgloverlaycompositor.h
101include/gstreamer-${API}/gst/gl/gstglquery.h
102include/gstreamer-${API}/gst/gl/gstglrenderbuffer.h
103include/gstreamer-${API}/gst/gl/gstglshader.h
104include/gstreamer-${API}/gst/gl/gstglshaderstrings.h
105include/gstreamer-${API}/gst/gl/gstglsl.h
106include/gstreamer-${API}/gst/gl/gstglslstage.h
107include/gstreamer-${API}/gst/gl/gstglsyncmeta.h
108include/gstreamer-${API}/gst/gl/gstglupload.h
109include/gstreamer-${API}/gst/gl/gstglutils.h
110include/gstreamer-${API}/gst/gl/gstglviewconvert.h
111include/gstreamer-${API}/gst/gl/gstglwindow.h
112include/gstreamer-${API}/gst/gl/x11/
113include/gstreamer-${API}/gst/gl/x11/gstgldisplay_x11.h
114include/gstreamer-${API}/gst/gl/x11/x11.h
115include/gstreamer-${API}/gst/pbutils/
116include/gstreamer-${API}/gst/pbutils/codec-utils.h
117include/gstreamer-${API}/gst/pbutils/descriptions.h
118include/gstreamer-${API}/gst/pbutils/encoding-profile.h
119include/gstreamer-${API}/gst/pbutils/encoding-target.h
120include/gstreamer-${API}/gst/pbutils/gstaudiovisualizer.h
121include/gstreamer-${API}/gst/pbutils/gstdiscoverer.h
122include/gstreamer-${API}/gst/pbutils/gstpluginsbaseversion.h
123include/gstreamer-${API}/gst/pbutils/install-plugins.h
124include/gstreamer-${API}/gst/pbutils/missing-plugins.h
125include/gstreamer-${API}/gst/pbutils/pbutils-enumtypes.h
126include/gstreamer-${API}/gst/pbutils/pbutils-prelude.h
127include/gstreamer-${API}/gst/pbutils/pbutils.h
128include/gstreamer-${API}/gst/riff/
129include/gstreamer-${API}/gst/riff/riff-ids.h
130include/gstreamer-${API}/gst/riff/riff-media.h
131include/gstreamer-${API}/gst/riff/riff-prelude.h
132include/gstreamer-${API}/gst/riff/riff-read.h
133include/gstreamer-${API}/gst/riff/riff.h
134include/gstreamer-${API}/gst/rtp/
135include/gstreamer-${API}/gst/rtp/gstrtcpbuffer.h
136include/gstreamer-${API}/gst/rtp/gstrtp-enumtypes.h
137include/gstreamer-${API}/gst/rtp/gstrtpbaseaudiopayload.h
138include/gstreamer-${API}/gst/rtp/gstrtpbasedepayload.h
139include/gstreamer-${API}/gst/rtp/gstrtpbasepayload.h
140include/gstreamer-${API}/gst/rtp/gstrtpbuffer.h
141include/gstreamer-${API}/gst/rtp/gstrtpdefs.h
142include/gstreamer-${API}/gst/rtp/gstrtphdrext.h
143include/gstreamer-${API}/gst/rtp/gstrtpmeta.h
144include/gstreamer-${API}/gst/rtp/gstrtppayloads.h
145include/gstreamer-${API}/gst/rtp/rtp-prelude.h
146include/gstreamer-${API}/gst/rtp/rtp.h
147include/gstreamer-${API}/gst/rtsp/
148include/gstreamer-${API}/gst/rtsp/gstrtsp-enumtypes.h
149include/gstreamer-${API}/gst/rtsp/gstrtsp.h
150include/gstreamer-${API}/gst/rtsp/gstrtspconnection.h
151include/gstreamer-${API}/gst/rtsp/gstrtspdefs.h
152include/gstreamer-${API}/gst/rtsp/gstrtspextension.h
153include/gstreamer-${API}/gst/rtsp/gstrtspmessage.h
154include/gstreamer-${API}/gst/rtsp/gstrtsprange.h
155include/gstreamer-${API}/gst/rtsp/gstrtsptransport.h
156include/gstreamer-${API}/gst/rtsp/gstrtspurl.h
157include/gstreamer-${API}/gst/rtsp/rtsp-prelude.h
158include/gstreamer-${API}/gst/rtsp/rtsp.h
159include/gstreamer-${API}/gst/sdp/
160include/gstreamer-${API}/gst/sdp/gstmikey.h
161include/gstreamer-${API}/gst/sdp/gstsdp.h
162include/gstreamer-${API}/gst/sdp/gstsdpmessage.h
163include/gstreamer-${API}/gst/sdp/sdp-prelude.h
164include/gstreamer-${API}/gst/sdp/sdp.h
165include/gstreamer-${API}/gst/tag/
166include/gstreamer-${API}/gst/tag/gsttagdemux.h
167include/gstreamer-${API}/gst/tag/gsttagmux.h
168include/gstreamer-${API}/gst/tag/tag-enumtypes.h
169include/gstreamer-${API}/gst/tag/tag-prelude.h
170include/gstreamer-${API}/gst/tag/tag.h
171include/gstreamer-${API}/gst/tag/xmpwriter.h
172include/gstreamer-${API}/gst/video/
173include/gstreamer-${API}/gst/video/colorbalance.h
174include/gstreamer-${API}/gst/video/colorbalancechannel.h
175include/gstreamer-${API}/gst/video/gstvideoaffinetransformationmeta.h
176include/gstreamer-${API}/gst/video/gstvideoaggregator.h
177include/gstreamer-${API}/gst/video/gstvideocodecalphameta.h
178include/gstreamer-${API}/gst/video/gstvideodecoder.h
179include/gstreamer-${API}/gst/video/gstvideoencoder.h
180include/gstreamer-${API}/gst/video/gstvideofilter.h
181include/gstreamer-${API}/gst/video/gstvideometa.h
182include/gstreamer-${API}/gst/video/gstvideopool.h
183include/gstreamer-${API}/gst/video/gstvideosink.h
184include/gstreamer-${API}/gst/video/gstvideotimecode.h
185include/gstreamer-${API}/gst/video/gstvideoutils.h
186include/gstreamer-${API}/gst/video/navigation.h
187include/gstreamer-${API}/gst/video/video-anc.h
188include/gstreamer-${API}/gst/video/video-blend.h
189include/gstreamer-${API}/gst/video/video-chroma.h
190include/gstreamer-${API}/gst/video/video-color.h
191include/gstreamer-${API}/gst/video/video-converter.h
192include/gstreamer-${API}/gst/video/video-dither.h
193include/gstreamer-${API}/gst/video/video-enumtypes.h
194include/gstreamer-${API}/gst/video/video-event.h
195include/gstreamer-${API}/gst/video/video-format.h
196include/gstreamer-${API}/gst/video/video-frame.h
197include/gstreamer-${API}/gst/video/video-hdr.h
198include/gstreamer-${API}/gst/video/video-info.h
199include/gstreamer-${API}/gst/video/video-multiview.h
200include/gstreamer-${API}/gst/video/video-overlay-composition.h
201include/gstreamer-${API}/gst/video/video-prelude.h
202include/gstreamer-${API}/gst/video/video-resampler.h
203include/gstreamer-${API}/gst/video/video-scaler.h
204include/gstreamer-${API}/gst/video/video-sei.h
205include/gstreamer-${API}/gst/video/video-tile.h
206include/gstreamer-${API}/gst/video/video.h
207include/gstreamer-${API}/gst/video/videodirection.h
208include/gstreamer-${API}/gst/video/videoorientation.h
209include/gstreamer-${API}/gst/video/videooverlay.h
210lib/gstreamer-${API}/
211lib/gstreamer-${API}/include/
212lib/gstreamer-${API}/include/gst/
213lib/gstreamer-${API}/include/gst/gl/
214lib/gstreamer-${API}/include/gst/gl/gstglconfig.h
215@so lib/gstreamer-${API}/libgstadder.so
216@so lib/gstreamer-${API}/libgstapp.so
217@so lib/gstreamer-${API}/libgstaudioconvert.so
218@so lib/gstreamer-${API}/libgstaudiomixer.so
219@so lib/gstreamer-${API}/libgstaudiorate.so
220@so lib/gstreamer-${API}/libgstaudioresample.so
221@so lib/gstreamer-${API}/libgstaudiotestsrc.so
222@so lib/gstreamer-${API}/libgstcompositor.so
223@so lib/gstreamer-${API}/libgstencoding.so
224@so lib/gstreamer-${API}/libgstopengl.so
225@so lib/gstreamer-${API}/libgstoverlaycomposition.so
226@so lib/gstreamer-${API}/libgstpbtypes.so
227@so lib/gstreamer-${API}/libgstplayback.so
228@so lib/gstreamer-${API}/libgstrawparse.so
229@so lib/gstreamer-${API}/libgstsndio.so
230@so lib/gstreamer-${API}/libgstsubparse.so
231@so lib/gstreamer-${API}/libgsttcp.so
232@so lib/gstreamer-${API}/libgsttypefindfunctions.so
233@so lib/gstreamer-${API}/libgstvideoconvertscale.so
234@so lib/gstreamer-${API}/libgstvideorate.so
235@so lib/gstreamer-${API}/libgstvideotestsrc.so
236@so lib/gstreamer-${API}/libgstvolume.so
237@so lib/gstreamer-${API}/libgstximagesink.so
238@so lib/gstreamer-${API}/libgstxvimagesink.so
239@lib lib/libgstallocators-${API}.so.${LIBgstallocators-${API}_VERSION}
240@lib lib/libgstapp-${API}.so.${LIBgstapp-${API}_VERSION}
241@lib lib/libgstaudio-${API}.so.${LIBgstaudio-${API}_VERSION}
242@lib lib/libgstfft-${API}.so.${LIBgstfft-${API}_VERSION}
243@lib lib/libgstgl-${API}.so.${LIBgstgl-${API}_VERSION}
244@lib lib/libgstpbutils-${API}.so.${LIBgstpbutils-${API}_VERSION}
245@lib lib/libgstriff-${API}.so.${LIBgstriff-${API}_VERSION}
246@lib lib/libgstrtp-${API}.so.${LIBgstrtp-${API}_VERSION}
247@lib lib/libgstrtsp-${API}.so.${LIBgstrtsp-${API}_VERSION}
248@lib lib/libgstsdp-${API}.so.${LIBgstsdp-${API}_VERSION}
249@lib lib/libgsttag-${API}.so.${LIBgsttag-${API}_VERSION}
250@lib lib/libgstvideo-${API}.so.${LIBgstvideo-${API}_VERSION}
251lib/pkgconfig/gstreamer-allocators-${API}.pc
252lib/pkgconfig/gstreamer-app-${API}.pc
253lib/pkgconfig/gstreamer-audio-${API}.pc
254lib/pkgconfig/gstreamer-fft-${API}.pc
255lib/pkgconfig/gstreamer-gl-${API}.pc
256lib/pkgconfig/gstreamer-gl-egl-${API}.pc
257lib/pkgconfig/gstreamer-gl-prototypes-${API}.pc
258lib/pkgconfig/gstreamer-gl-x11-${API}.pc
259lib/pkgconfig/gstreamer-pbutils-${API}.pc
260lib/pkgconfig/gstreamer-plugins-base-${API}.pc
261lib/pkgconfig/gstreamer-riff-${API}.pc
262lib/pkgconfig/gstreamer-rtp-${API}.pc
263lib/pkgconfig/gstreamer-rtsp-${API}.pc
264lib/pkgconfig/gstreamer-sdp-${API}.pc
265lib/pkgconfig/gstreamer-tag-${API}.pc
266lib/pkgconfig/gstreamer-video-${API}.pc
267share/gst-plugins-base/
268share/gst-plugins-base/${API}/
269share/gst-plugins-base/${API}/license-translations.dict