mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 18:50:48 +00:00
gst/playback/: New decodebin2 element.
Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstdecodebin2.c: (gst_decode_bin_get_type), (_gst_boolean_accumulator), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (gst_decode_bin_finalize), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_set_caps), (gst_decode_bin_get_caps), (gst_decode_bin_autoplug_continue), (gst_decode_bin_autoplug_sort), (analyze_new_pad), (connect_pad), (connect_element), (expose_pad), (type_found), (pad_added_group_cb), (pad_removed_group_cb), (no_more_pads_group_cb), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (find_compatibles), (is_demuxer_element), (are_raw_caps), (multi_queue_overrun_cb), (multi_queue_underrun_cb), (gst_decode_group_new), (get_current_group), (group_demuxer_event_probe), (gst_decode_group_control_demuxer_pad), (gst_decode_group_control_source_pad), (gst_decode_group_check_if_blocked), (gst_decode_group_check_if_drained), (gst_decode_group_expose), (gst_decode_group_hide), (gst_decode_group_free), (gst_decode_group_set_complete), (source_pad_blocked_cb), (source_pad_event_probe), (gst_decode_pad_new), (add_fakesink), (remove_fakesink), (find_sink_pad), (gst_decode_bin_change_state), (plugin_init): New decodebin2 element. Closes #370092 * gst/playback/gstplay-marshal.list: Added marshallers for new signals in decodebin2 * gst/playback/gstplaybasebin.c: (setup_subtitle), (make_decoder): Use decodebin2 if *and only if* the USE_DECODEBIN2 environment variable is set.
This commit is contained in:
parent
ce6c9ab620
commit
b8423f254c
5 changed files with 1870 additions and 4 deletions
35
ChangeLog
35
ChangeLog
|
@ -1,3 +1,38 @@
|
|||
2006-11-28 Edward Hervey <edward@fluendo.com>
|
||||
|
||||
* gst/playback/Makefile.am:
|
||||
* gst/playback/gstdecodebin2.c: (gst_decode_bin_get_type),
|
||||
(_gst_boolean_accumulator), (gst_decode_bin_class_init),
|
||||
(gst_decode_bin_factory_filter), (compare_ranks), (print_feature),
|
||||
(gst_decode_bin_init), (gst_decode_bin_dispose),
|
||||
(gst_decode_bin_finalize), (gst_decode_bin_set_property),
|
||||
(gst_decode_bin_get_property), (gst_decode_bin_set_caps),
|
||||
(gst_decode_bin_get_caps), (gst_decode_bin_autoplug_continue),
|
||||
(gst_decode_bin_autoplug_sort), (analyze_new_pad), (connect_pad),
|
||||
(connect_element), (expose_pad), (type_found),
|
||||
(pad_added_group_cb), (pad_removed_group_cb),
|
||||
(no_more_pads_group_cb), (pad_added_cb), (pad_removed_cb),
|
||||
(no_more_pads_cb), (find_compatibles), (is_demuxer_element),
|
||||
(are_raw_caps), (multi_queue_overrun_cb),
|
||||
(multi_queue_underrun_cb), (gst_decode_group_new),
|
||||
(get_current_group), (group_demuxer_event_probe),
|
||||
(gst_decode_group_control_demuxer_pad),
|
||||
(gst_decode_group_control_source_pad),
|
||||
(gst_decode_group_check_if_blocked),
|
||||
(gst_decode_group_check_if_drained), (gst_decode_group_expose),
|
||||
(gst_decode_group_hide), (gst_decode_group_free),
|
||||
(gst_decode_group_set_complete), (source_pad_blocked_cb),
|
||||
(source_pad_event_probe), (gst_decode_pad_new), (add_fakesink),
|
||||
(remove_fakesink), (find_sink_pad), (gst_decode_bin_change_state),
|
||||
(plugin_init):
|
||||
New decodebin2 element.
|
||||
Closes #370092
|
||||
* gst/playback/gstplay-marshal.list:
|
||||
Added marshallers for new signals in decodebin2
|
||||
* gst/playback/gstplaybasebin.c: (setup_subtitle), (make_decoder):
|
||||
Use decodebin2 if *and only if* the USE_DECODEBIN2 environment variable
|
||||
is set.
|
||||
|
||||
2006-11-28 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
* gst/playback/gstplaybasebin.c: (setup_source),
|
||||
|
|
|
@ -7,7 +7,7 @@ built_headers = gstplay-marshal.h
|
|||
|
||||
plugindir = $(libdir)/gstreamer-@GST_MAJORMINOR@
|
||||
|
||||
plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin.la
|
||||
plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin.la libgstdecodebin2.la
|
||||
|
||||
libgstplaybin_la_SOURCES = \
|
||||
gstplaybin.c \
|
||||
|
@ -26,6 +26,12 @@ libgstdecodebin_la_CFLAGS = $(GST_CFLAGS)
|
|||
libgstdecodebin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||
libgstdecodebin_la_LIBADD = $(GST_LIBS)
|
||||
|
||||
libgstdecodebin2_la_SOURCES = gstdecodebin2.c
|
||||
nodist_libgstdecodebin2_la_SOURCES = $(built_sources)
|
||||
libgstdecodebin2_la_CFLAGS = $(GST_CFLAGS)
|
||||
libgstdecodebin2_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||
libgstdecodebin2_la_LIBADD = $(GST_LIBS)
|
||||
|
||||
noinst_HEADERS = \
|
||||
gstplaybasebin.h \
|
||||
gststreaminfo.h \
|
||||
|
|
1818
gst/playback/gstdecodebin2.c
Normal file
1818
gst/playback/gstdecodebin2.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,2 +1,3 @@
|
|||
BOOLEAN:OBJECT,OBJECT
|
||||
BOOLEAN:OBJECT
|
||||
VOID:OBJECT,BOOLEAN
|
||||
BOOLEAN:OBJECT,POINTER
|
||||
|
|
|
@ -1317,7 +1317,10 @@ setup_subtitle (GstPlayBaseBin * play_base_bin, gchar * sub_uri)
|
|||
if (!source)
|
||||
goto unknown_uri;
|
||||
|
||||
subdecodebin = gst_element_factory_make ("decodebin", "subtitle-decoder");
|
||||
if (g_getenv ("USE_DECODEBIN2"))
|
||||
subdecodebin = gst_element_factory_make ("decodebin2", "subtitle-decoder");
|
||||
else
|
||||
subdecodebin = gst_element_factory_make ("decodebin", "subtitle-decoder");
|
||||
g_signal_connect (subdecodebin, "element-added",
|
||||
G_CALLBACK (decodebin_element_added_cb), play_base_bin);
|
||||
g_signal_connect (subdecodebin, "element-removed",
|
||||
|
@ -1728,7 +1731,10 @@ make_decoder (GstPlayBaseBin * play_base_bin)
|
|||
GstElement *decoder;
|
||||
|
||||
/* now create the decoder element */
|
||||
decoder = gst_element_factory_make ("decodebin", NULL);
|
||||
if (g_getenv ("USE_DECODEBIN2"))
|
||||
decoder = gst_element_factory_make ("decodebin2", NULL);
|
||||
else
|
||||
decoder = gst_element_factory_make ("decodebin", NULL);
|
||||
if (!decoder)
|
||||
goto no_decodebin;
|
||||
|
||||
|
|
Loading…
Reference in a new issue