mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-10 09:25:42 +00:00
compositor: add to build after move from -bad
This replaces videomixer. Fixes #138
This commit is contained in:
parent
a9cf6f238f
commit
2972b673c0
18 changed files with 102 additions and 11 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -52,6 +52,7 @@ Makefile
|
||||||
/gst-libs/gst/audio/audio-marshal.[ch]
|
/gst-libs/gst/audio/audio-marshal.[ch]
|
||||||
/gst-libs/gst/video/video-marshal.[ch]
|
/gst-libs/gst/video/video-marshal.[ch]
|
||||||
/gst-libs/gst/*/*-enumtypes.[ch]
|
/gst-libs/gst/*/*-enumtypes.[ch]
|
||||||
|
/tests/examples/compositor/crossfade
|
||||||
/tests/examples/playback/playback-test
|
/tests/examples/playback/playback-test
|
||||||
|
|
||||||
tmp-orc.c
|
tmp-orc.c
|
||||||
|
|
|
@ -498,6 +498,7 @@ AG_GST_CHECK_PLUGIN(audioconvert)
|
||||||
AG_GST_CHECK_PLUGIN(audiomixer)
|
AG_GST_CHECK_PLUGIN(audiomixer)
|
||||||
AG_GST_CHECK_PLUGIN(audiorate)
|
AG_GST_CHECK_PLUGIN(audiorate)
|
||||||
AG_GST_CHECK_PLUGIN(audiotestsrc)
|
AG_GST_CHECK_PLUGIN(audiotestsrc)
|
||||||
|
AG_GST_CHECK_PLUGIN(compositor)
|
||||||
AG_GST_CHECK_PLUGIN(encoding)
|
AG_GST_CHECK_PLUGIN(encoding)
|
||||||
AG_GST_CHECK_PLUGIN(videoconvert)
|
AG_GST_CHECK_PLUGIN(videoconvert)
|
||||||
AG_GST_CHECK_PLUGIN(gio)
|
AG_GST_CHECK_PLUGIN(gio)
|
||||||
|
@ -922,6 +923,7 @@ gst/audiomixer/Makefile
|
||||||
gst/audiorate/Makefile
|
gst/audiorate/Makefile
|
||||||
gst/audioresample/Makefile
|
gst/audioresample/Makefile
|
||||||
gst/audiotestsrc/Makefile
|
gst/audiotestsrc/Makefile
|
||||||
|
gst/compositor/Makefile
|
||||||
gst/encoding/Makefile
|
gst/encoding/Makefile
|
||||||
gst/videoconvert/Makefile
|
gst/videoconvert/Makefile
|
||||||
gst/gio/Makefile
|
gst/gio/Makefile
|
||||||
|
@ -1008,6 +1010,7 @@ tests/check/Makefile
|
||||||
tests/examples/Makefile
|
tests/examples/Makefile
|
||||||
tests/examples/app/Makefile
|
tests/examples/app/Makefile
|
||||||
tests/examples/audio/Makefile
|
tests/examples/audio/Makefile
|
||||||
|
tests/examples/compositor/Makefile
|
||||||
tests/examples/decodebin_next/Makefile
|
tests/examples/decodebin_next/Makefile
|
||||||
tests/examples/dynamic/Makefile
|
tests/examples/dynamic/Makefile
|
||||||
tests/examples/encoding/Makefile
|
tests/examples/encoding/Makefile
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
<xi:include href="xml/element-audiotestsrc.xml" />
|
<xi:include href="xml/element-audiotestsrc.xml" />
|
||||||
<xi:include href="xml/element-cdparanoiasrc.xml" />
|
<xi:include href="xml/element-cdparanoiasrc.xml" />
|
||||||
<xi:include href="xml/element-clockoverlay.xml" />
|
<xi:include href="xml/element-clockoverlay.xml" />
|
||||||
|
<xi:include href="xml/element-compositor.xml" />
|
||||||
<xi:include href="xml/element-decodebin.xml" />
|
<xi:include href="xml/element-decodebin.xml" />
|
||||||
<xi:include href="xml/element-decodebin3.xml" />
|
<xi:include href="xml/element-decodebin3.xml" />
|
||||||
<xi:include href="xml/element-encodebin.xml" />
|
<xi:include href="xml/element-encodebin.xml" />
|
||||||
|
@ -140,6 +141,7 @@
|
||||||
<xi:include href="xml/plugin-audioresample.xml" />
|
<xi:include href="xml/plugin-audioresample.xml" />
|
||||||
<xi:include href="xml/plugin-audiotestsrc.xml" />
|
<xi:include href="xml/plugin-audiotestsrc.xml" />
|
||||||
<xi:include href="xml/plugin-cdparanoia.xml" />
|
<xi:include href="xml/plugin-cdparanoia.xml" />
|
||||||
|
<xi:include href="xml/plugin-compositor.xml" />
|
||||||
<xi:include href="xml/plugin-encoding.xml" />
|
<xi:include href="xml/plugin-encoding.xml" />
|
||||||
<xi:include href="xml/plugin-gio.xml" />
|
<xi:include href="xml/plugin-gio.xml" />
|
||||||
<xi:include href="xml/plugin-ivorbisdec.xml" />
|
<xi:include href="xml/plugin-ivorbisdec.xml" />
|
||||||
|
|
|
@ -226,6 +226,23 @@ GST_TYPE_CLOCK_OVERLAY
|
||||||
gst_clock_overlay_get_type
|
gst_clock_overlay_get_type
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
<SECTION>
|
||||||
|
<FILE>element-compositor</FILE>
|
||||||
|
<TITLE>compositor</TITLE>
|
||||||
|
GstCompositor
|
||||||
|
GstCompositorBackground
|
||||||
|
<SUBSECTION Standard>
|
||||||
|
GstCompositorClass
|
||||||
|
GST_COMPOSITOR
|
||||||
|
GST_COMPOSITOR_CAST
|
||||||
|
GST_IS_COMPOSITOR
|
||||||
|
GST_COMPOSITOR_CLASS
|
||||||
|
GST_IS_COMPOSITOR_CLASS
|
||||||
|
GST_TYPE_COMPOSITOR
|
||||||
|
<SUBSECTION Private>
|
||||||
|
gst_compositor_get_type
|
||||||
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>element-decodebin</FILE>
|
<FILE>element-decodebin</FILE>
|
||||||
<TITLE>decodebin</TITLE>
|
<TITLE>decodebin</TITLE>
|
||||||
|
|
|
@ -19,6 +19,8 @@ GObject
|
||||||
GstAudioInterleave
|
GstAudioInterleave
|
||||||
GstAudioMixer
|
GstAudioMixer
|
||||||
GstLiveAdder
|
GstLiveAdder
|
||||||
|
GstVideoAggregator
|
||||||
|
GstCompositor
|
||||||
GstAudioDecoder
|
GstAudioDecoder
|
||||||
GstOpusDec
|
GstOpusDec
|
||||||
GstVorbisDec
|
GstVorbisDec
|
||||||
|
|
|
@ -11,6 +11,7 @@ GstAudioInterleave GstChildProxy
|
||||||
GstAudioMixer GstChildProxy
|
GstAudioMixer GstChildProxy
|
||||||
GstBin GstChildProxy
|
GstBin GstChildProxy
|
||||||
GstCdParanoiaSrc GstURIHandler
|
GstCdParanoiaSrc GstURIHandler
|
||||||
|
GstCompositor GstChildProxy
|
||||||
GstDecodeBin GstChildProxy
|
GstDecodeBin GstChildProxy
|
||||||
GstDecodebin3 GstChildProxy
|
GstDecodebin3 GstChildProxy
|
||||||
GstEncodeBin GstChildProxy
|
GstEncodeBin GstChildProxy
|
||||||
|
|
34
docs/plugins/inspect/plugin-compositor.xml
Normal file
34
docs/plugins/inspect/plugin-compositor.xml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<plugin>
|
||||||
|
<name>compositor</name>
|
||||||
|
<description>Compositor</description>
|
||||||
|
<filename>../../gst/compositor/.libs/libgstcompositor.so</filename>
|
||||||
|
<basename>libgstcompositor.so</basename>
|
||||||
|
<version>1.15.0.1</version>
|
||||||
|
<license>LGPL</license>
|
||||||
|
<source>gst-plugins-base</source>
|
||||||
|
<package>GStreamer Base Plug-ins git</package>
|
||||||
|
<origin>Unknown package origin</origin>
|
||||||
|
<elements>
|
||||||
|
<element>
|
||||||
|
<name>compositor</name>
|
||||||
|
<longname>Compositor</longname>
|
||||||
|
<class>Filter/Editor/Video/Compositor</class>
|
||||||
|
<description>Composite multiple video streams</description>
|
||||||
|
<author>Wim Taymans <wim@fluendo.com>, Sebastian Dröge <sebastian.droege@collabora.co.uk></author>
|
||||||
|
<pads>
|
||||||
|
<caps>
|
||||||
|
<name>sink_%u</name>
|
||||||
|
<direction>sink</direction>
|
||||||
|
<presence>request</presence>
|
||||||
|
<details>video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
|
||||||
|
</caps>
|
||||||
|
<caps>
|
||||||
|
<name>src</name>
|
||||||
|
<direction>source</direction>
|
||||||
|
<presence>always</presence>
|
||||||
|
<details>video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
|
||||||
|
</caps>
|
||||||
|
</pads>
|
||||||
|
</element>
|
||||||
|
</elements>
|
||||||
|
</plugin>
|
|
@ -11,14 +11,10 @@ libgstcompositor_la_SOURCES = \
|
||||||
|
|
||||||
nodist_libgstcompositor_la_SOURCES = $(ORC_NODIST_SOURCES)
|
nodist_libgstcompositor_la_SOURCES = $(ORC_NODIST_SOURCES)
|
||||||
libgstcompositor_la_CFLAGS = \
|
libgstcompositor_la_CFLAGS = \
|
||||||
-I$(top_srcdir)/gst-libs \
|
|
||||||
-I$(top_builddir)/gst-libs \
|
|
||||||
$(GST_PLUGINS_BASE_CFLAGS) \
|
$(GST_PLUGINS_BASE_CFLAGS) \
|
||||||
$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(ORC_CFLAGS)
|
$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(ORC_CFLAGS)
|
||||||
libgstcompositor_la_LIBADD = \
|
libgstcompositor_la_LIBADD = \
|
||||||
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$(GST_API_VERSION).la \
|
$(top_builddir)/gst-libs/gst/video/libgstvideo-$(GST_API_VERSION).la \
|
||||||
$(GST_PLUGINS_BASE_LIBS) \
|
|
||||||
-lgstvideo-@GST_API_VERSION@ \
|
|
||||||
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
|
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
|
||||||
libgstcompositor_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstcompositor_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,9 @@ endif
|
||||||
|
|
||||||
gstcompositor = library('gstcompositor',
|
gstcompositor = library('gstcompositor',
|
||||||
compositor_sources, orc_c, orc_h,
|
compositor_sources, orc_c, orc_h,
|
||||||
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
|
c_args : gst_plugins_base_args,
|
||||||
include_directories : [configinc],
|
include_directories : [configinc],
|
||||||
dependencies : [gstbadvideo_dep, gstvideo_dep, gstbase_dep, orc_dep, libm],
|
dependencies : [video_dep, gst_base_dep, orc_dep, libm],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : plugins_install_dir,
|
install_dir : plugins_install_dir,
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
foreach plugin : ['adder', 'app', 'audioconvert', 'audiomixer', 'audiorate', 'audioresample',
|
foreach plugin : ['adder', 'app', 'audioconvert', 'audiomixer', 'audiorate', 'audioresample',
|
||||||
'audiotestsrc', 'encoding', 'gio', 'overlaycomposition', 'pbtypes', 'playback',
|
'audiotestsrc', 'compositor', 'encoding', 'gio', 'overlaycomposition', 'pbtypes', 'playback',
|
||||||
'rawparse', 'subparse', 'tcp', 'typefind', 'videoconvert', 'videorate', 'videoscale',
|
'rawparse', 'subparse', 'tcp', 'typefind', 'videoconvert', 'videorate', 'videoscale',
|
||||||
'videotestsrc', 'volume']
|
'videotestsrc', 'volume']
|
||||||
if not get_option(plugin).disabled()
|
if not get_option(plugin).disabled()
|
||||||
|
|
|
@ -35,6 +35,7 @@ option('audiomixer', type : 'feature', value : 'auto')
|
||||||
option('audiorate', type : 'feature', value : 'auto')
|
option('audiorate', type : 'feature', value : 'auto')
|
||||||
option('audioresample', type : 'feature', value : 'auto')
|
option('audioresample', type : 'feature', value : 'auto')
|
||||||
option('audiotestsrc', type : 'feature', value : 'auto')
|
option('audiotestsrc', type : 'feature', value : 'auto')
|
||||||
|
option('compositor', type : 'feature', value : 'auto')
|
||||||
option('encoding', type : 'feature', value : 'auto')
|
option('encoding', type : 'feature', value : 'auto')
|
||||||
option('gio', type : 'feature', value : 'auto')
|
option('gio', type : 'feature', value : 'auto')
|
||||||
option('overlaycomposition', type : 'feature', value : 'auto')
|
option('overlaycomposition', type : 'feature', value : 'auto')
|
||||||
|
|
|
@ -100,6 +100,12 @@ else
|
||||||
check_audiomixer =
|
check_audiomixer =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if USE_PLUGIN_COMPOSITOR
|
||||||
|
check_compositor = elements/compositor
|
||||||
|
else
|
||||||
|
check_compositor =
|
||||||
|
endif
|
||||||
|
|
||||||
if USE_PLUGIN_PLAYBACK
|
if USE_PLUGIN_PLAYBACK
|
||||||
check_playback = elements/decodebin elements/playbin \
|
check_playback = elements/decodebin elements/playbin \
|
||||||
elements/playbin-complex elements/streamsynchronizer \
|
elements/playbin-complex elements/streamsynchronizer \
|
||||||
|
@ -182,7 +188,7 @@ check_adder =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HAVE_ORC
|
if HAVE_ORC
|
||||||
check_orc = orc/video orc/audio orc/audiomixer orc/adder orc/volume orc/videotestsrc
|
check_orc = orc/video orc/audio orc/audiomixer orc/adder orc/compositor orc/volume orc/videotestsrc
|
||||||
else
|
else
|
||||||
check_orc =
|
check_orc =
|
||||||
endif
|
endif
|
||||||
|
@ -274,6 +280,7 @@ check_PROGRAMS = \
|
||||||
$(check_audiorate) \
|
$(check_audiorate) \
|
||||||
$(check_audioresample) \
|
$(check_audioresample) \
|
||||||
$(check_audiotestsrc) \
|
$(check_audiotestsrc) \
|
||||||
|
$(check_compositor) \
|
||||||
$(check_encodebin) \
|
$(check_encodebin) \
|
||||||
$(check_gio) \
|
$(check_gio) \
|
||||||
$(check_gl) \
|
$(check_gl) \
|
||||||
|
@ -704,6 +711,13 @@ elements_audiotestsrc_CFLAGS = \
|
||||||
$(GST_BASE_CFLAGS) \
|
$(GST_BASE_CFLAGS) \
|
||||||
$(AM_CFLAGS)
|
$(AM_CFLAGS)
|
||||||
|
|
||||||
|
elements_compositor_LDADD = \
|
||||||
|
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
|
||||||
|
$(GST_BASE_LIBS) $(LDADD)
|
||||||
|
elements_compositor_CFLAGS = \
|
||||||
|
$(GST_PLUGINS_BASE_CFLAGS) \
|
||||||
|
$(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
|
||||||
|
|
||||||
elements_libvisual_LDADD = $(LDADD)
|
elements_libvisual_LDADD = $(LDADD)
|
||||||
elements_libvisual_CFLAGS = $(CFLAGS) $(AM_CFLAGS)
|
elements_libvisual_CFLAGS = $(CFLAGS) $(AM_CFLAGS)
|
||||||
|
|
||||||
|
@ -939,6 +953,9 @@ nodist_orc_adder_SOURCES = orc/adder.c
|
||||||
orc_audiomixer_CFLAGS = $(ORC_CFLAGS)
|
orc_audiomixer_CFLAGS = $(ORC_CFLAGS)
|
||||||
orc_audiomixer_LDADD = $(ORC_LIBS) -lorc-test-0.4
|
orc_audiomixer_LDADD = $(ORC_LIBS) -lorc-test-0.4
|
||||||
nodist_orc_audiomixer_SOURCES = orc/audiomixer.c
|
nodist_orc_audiomixer_SOURCES = orc/audiomixer.c
|
||||||
|
orc_compositor_CFLAGS = $(ORC_CFLAGS)
|
||||||
|
orc_compositor_LDADD = $(ORC_LIBS) -lorc-test-0.4
|
||||||
|
nodist_orc_compositor_SOURCES = orc/compositor.c
|
||||||
orc_volume_CFLAGS = $(ORC_CFLAGS)
|
orc_volume_CFLAGS = $(ORC_CFLAGS)
|
||||||
orc_volume_LDADD = $(ORC_LIBS) -lorc-test-0.4
|
orc_volume_LDADD = $(ORC_LIBS) -lorc-test-0.4
|
||||||
nodist_orc_volume_SOURCES = orc/volume.c
|
nodist_orc_volume_SOURCES = orc/volume.c
|
||||||
|
@ -962,6 +979,10 @@ orc/adder.c: $(top_srcdir)/gst/adder/gstadderorc.orc
|
||||||
$(MKDIR_P) orc/
|
$(MKDIR_P) orc/
|
||||||
$(ORCC) --test -o $@ $<
|
$(ORCC) --test -o $@ $<
|
||||||
|
|
||||||
|
orc/compositor.c: $(top_srcdir)/gst/compositor/compositororc.orc
|
||||||
|
$(MKDIR_P) orc/
|
||||||
|
$(ORCC) --test -o $@ $<
|
||||||
|
|
||||||
orc/volume.c: $(top_srcdir)/gst/volume/gstvolumeorc.orc
|
orc/volume.c: $(top_srcdir)/gst/volume/gstvolumeorc.orc
|
||||||
$(MKDIR_P) orc/
|
$(MKDIR_P) orc/
|
||||||
$(ORCC) --test -o $@ $<
|
$(ORCC) --test -o $@ $<
|
||||||
|
|
1
tests/check/elements/.gitignore
vendored
1
tests/check/elements/.gitignore
vendored
|
@ -9,6 +9,7 @@ audiomixer
|
||||||
audiorate
|
audiorate
|
||||||
audioresample
|
audioresample
|
||||||
audiotestsrc
|
audiotestsrc
|
||||||
|
compositor
|
||||||
decodebin
|
decodebin
|
||||||
encodebin
|
encodebin
|
||||||
glbin
|
glbin
|
||||||
|
|
|
@ -62,6 +62,7 @@ if host_machine.system() != 'windows'
|
||||||
[ 'libs/rtp.c' ],
|
[ 'libs/rtp.c' ],
|
||||||
[ 'libs/rtspconnection.c' ],
|
[ 'libs/rtspconnection.c' ],
|
||||||
[ 'libs/video.c' ],
|
[ 'libs/video.c' ],
|
||||||
|
[ 'elements/compositor.c', not core_conf.has('HAVE_UNISTD_H') ],
|
||||||
[ 'elements/libvisual.c', not is_variable('libvisual_dep') or not libvisual_dep.found() ],
|
[ 'elements/libvisual.c', not is_variable('libvisual_dep') or not libvisual_dep.found() ],
|
||||||
[ 'elements/encodebin.c', not theoraenc_dep.found() or not vorbisenc_dep.found() ],
|
[ 'elements/encodebin.c', not theoraenc_dep.found() or not vorbisenc_dep.found() ],
|
||||||
[ 'elements/multifdsink.c', not core_conf.has('HAVE_SYS_SOCKET_H') or not core_conf.has('HAVE_UNISTD_H') ],
|
[ 'elements/multifdsink.c', not core_conf.has('HAVE_SYS_SOCKET_H') or not core_conf.has('HAVE_UNISTD_H') ],
|
||||||
|
|
|
@ -8,8 +8,8 @@ else
|
||||||
GL_DIR=
|
GL_DIR=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SUBDIRS = app audio decodebin_next dynamic fft gio $(GL_DIR) $(GTK_SUBDIRS) overlay overlaycomposition playrec encoding
|
SUBDIRS = app audio compositor decodebin_next dynamic fft gio $(GL_DIR) $(GTK_SUBDIRS) overlay overlaycomposition playrec encoding
|
||||||
DIST_SUBDIRS = app audio dynamic decodebin_next fft gio gl playback overlay overlaycomposition seek snapshot playrec encoding
|
DIST_SUBDIRS = app audio compositor decodebin_next dynamic fft gio gl playback overlay overlaycomposition seek snapshot playrec encoding
|
||||||
|
|
||||||
include $(top_srcdir)/common/parallel-subdirs.mak
|
include $(top_srcdir)/common/parallel-subdirs.mak
|
||||||
|
|
||||||
|
|
5
tests/examples/compositor/Makefile.am
Normal file
5
tests/examples/compositor/Makefile.am
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
noinst_PROGRAMS = crossfade
|
||||||
|
|
||||||
|
crossfade_SOURCES = crossfade.c
|
||||||
|
crossfade_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) $(GST_CFLAGS)
|
||||||
|
crossfade_LDADD = $(GST_CONTROLLER_LIBS) $(GST_LIBS)
|
5
tests/examples/compositor/meson.build
Normal file
5
tests/examples/compositor/meson.build
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
executable('crossfade', 'crossfade.c',
|
||||||
|
include_directories: [configinc],
|
||||||
|
c_args: ['-DHAVE_CONFIG_H'],
|
||||||
|
dependencies: [gst_controller_dep, gst_dep],
|
||||||
|
install: false)
|
|
@ -1,5 +1,6 @@
|
||||||
subdir('app')
|
subdir('app')
|
||||||
subdir('audio')
|
subdir('audio')
|
||||||
|
subdir('compositor')
|
||||||
subdir('dynamic')
|
subdir('dynamic')
|
||||||
subdir('decodebin_next')
|
subdir('decodebin_next')
|
||||||
subdir('encoding')
|
subdir('encoding')
|
||||||
|
|
Loading…
Reference in a new issue