Commit graph

337 commits

Author SHA1 Message Date
Thiago Sousa Santos
4d83551490 gst/playback/gstqueue2.c: Wait for preroll before attempting to forward a duration query upstream.
Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_peer_query),
(gst_queue_handle_src_query):
Wait for preroll before attempting to forward a duration query upstream.
Fixes #445505.
2007-06-11 11:32:26 +00:00
Wim Taymans
919029d9c5 gst/playback/gstqueue2.c: Fix compilation.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_get_range):
Fix compilation.
2007-06-07 09:11:27 +00:00
Thiago Sousa Santos
658fbf5039 gst/playback/gstqueue2.c: Add pull based scheduling and fix some deadlocks. Fixes #444523.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_init),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_get_range), (gst_queue_src_checkgetrange_function),
(gst_queue_sink_activate_push), (gst_queue_src_activate_push),
(gst_queue_src_activate_pull):
Add pull based scheduling and fix some deadlocks. Fixes #444523.
Does not yet completely work because duration queries upstream won't
block yet.
2007-06-06 13:36:26 +00:00
Wim Taymans
1a31080014 Some more fseeko checks.
Original commit message from CVS:
* configure.ac:
* gst/playback/gstqueue2.c: (gst_queue_create_read):
Some more fseeko checks.
2007-06-06 09:08:50 +00:00
Wim Taymans
837d4b1bb9 gst/playback/gstqueue2.c: Include stdio to define fseeko.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file), (gst_queue_locked_enqueue):
Include stdio to define fseeko.
2007-06-05 17:02:13 +00:00
Wim Taymans
d4bb17ab7a gst/playback/gsturidecodebin.c: Make sure we name srcpads uniquely even when using different internal decodebins.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (no_more_pads_full),
(new_decoded_pad), (remove_pads), (make_decoder), (setup_source),
(gst_uri_decode_bin_change_state):
Make sure we name srcpads uniquely even when using different internal
decodebins.
Signal no-more-pads when no more dynamic elements exist.
Remove pads on cleanup.
2007-06-05 16:17:30 +00:00
Thiago Sousa Santos
73e8934af9 gst/playback/gstqueue2.c: Add support for filebased buffering. Fixes #441264.
Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_class_init),
(gst_queue_init), (gst_queue_finalize),
(gst_queue_write_buffer_to_file), (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file),
(gst_queue_close_temp_location_file), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_is_empty), (gst_queue_is_filled),
(gst_queue_change_state), (gst_queue_set_temp_location),
(gst_queue_set_property):
Add support for filebased buffering. Fixes #441264.
2007-06-05 16:14:23 +00:00
Wim Taymans
3840b5a20f gst/playback/gstdecodebin2.c: Add support for delayed caps fixation when autoplugging.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter),
(analyze_new_pad), (connect_pad), (expose_pad), (caps_notify_cb),
(caps_notify_group_cb), (gst_decode_group_new),
(gst_decode_group_free):
Add support for delayed caps fixation when autoplugging.
Optimize cases where a multiqueue is not needed/wanted, like right after
anything that is not a demuxer.
2007-06-05 16:05:19 +00:00
Wim Taymans
5deb6e096d gst/playback/gstplaybasebin.c: Stop buffering when the group is commited because the queues filled up.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_overrun),
(no_more_pads_full):
Stop buffering when the group is commited because the queues filled up.
Fixes #442024.
2007-05-29 13:38:35 +00:00
Jan Schmidt
d9504cf065 gst/playback/gstplaybasebin.c: Handle unknown or invalid pads without crashing, as might occur if a media file like a...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
Handle unknown or invalid pads without crashing, as might occur if
a media file like an mp3 is specified as a subtitle file.
Fixes: #410039
2007-05-24 11:15:32 +00:00
Jan Schmidt
c446f911d4 gst/playback/gstplaybin.c: Block the subtitle bin output queue before ghosting it and linking, then unblock after. Th...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink), (dummy_blocked_cb),
(setup_sinks):
Block the subtitle bin output queue before ghosting it and linking,
then unblock after. This avoids spurious not-linked errors caused
by the queue starting up (because it gets linked when it is ghosted).
Fixes: #350299
2007-05-24 10:19:54 +00:00
Wim Taymans
9b188adc27 Small cleanups.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_read_sector):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Small cleanups.
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix typo.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Add some FIXME
* gst/playback/gstdecodebin.c: (queue_underrun_cb):
And some debug info when a FIXME path is hit.
2007-05-21 10:25:44 +00:00
Stefan Kost
e7c3ddf3fc gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_change_state):
Fix typo in comment.
* gst/playback/gstdecodebin.c (gst_decode_bin_class_init,
free_dynamics, pad_probe, close_pad_link, try_to_link_1,
get_our_ghost_pad, remove_element_chain, queue_underrun_cb,
close_link):
* gst/playback/gstplaybin.c (gst_play_bin_set_property,
gen_audio_element, remove_sinks, gst_play_bin_send_event_to_sink):
Remove trailing whitespaces in comments.
* gst/volume/Makefile.am:
Fix tabs.
2007-05-18 15:23:43 +00:00
Wim Taymans
a18a10e81f gst/playback/gstdecodebin2.c: Make decodebin2 autoplug depayloaders too.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
Make decodebin2 autoplug depayloaders too.
* gst/playback/gsturidecodebin.c: (source_new_pad):
Set the newly created decoder in a usable state when autoplugging a
dynamic source such as RTSP.
2007-05-17 16:27:32 +00:00
Tim-Philipp Müller
2cd5f527fe gst/playback/gststreaminfo.c: Ignore video-codec tag for audio streams and ignore audio-codec tags for video streams....
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (cb_probe):
Ignore video-codec tag for audio streams and ignore audio-codec tags
for video streams. Should make codec name collection a bit more
robust against sloppy demuxers that send tag events containing both
tags down each pad.
2007-05-17 16:11:03 +00:00
Wim Taymans
d33939800d gst/playback/gstqueue2.c: Tweak the buffering thresholds a little.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_rates):
Tweak the buffering thresholds a little.
Update the buffer size with the previously calculate rate instead of
only when we calculate a new rate so that we get smoother buffering
updates.
* gst/playback/Makefile.am:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init),
(gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
(gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (unknown_type),
(add_element_stream), (no_more_pads_full), (no_more_pads),
(source_no_more_pads), (new_decoded_pad), (array_has_value),
(gen_source_element), (has_all_raw_caps), (analyse_source),
(remove_decoders), (make_decoder), (remove_source),
(source_new_pad), (setup_source), (decoder_query_init),
(decoder_query_duration_fold), (decoder_query_duration_done),
(decoder_query_position_fold), (decoder_query_position_done),
(decoder_query_latency_fold), (decoder_query_latency_done),
(decoder_query_seeking_fold), (decoder_query_seeking_done),
(decoder_query_generic_fold), (gst_uri_decode_bin_query),
(gst_uri_decode_bin_change_state), (plugin_init):
New element that intergrates a source, optional buffering element and
decodebin.
2007-05-17 15:22:44 +00:00
Wim Taymans
fa972968b2 gst/playback/gstqueue2.c: fix build.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_finalize), (update_time_level),
(apply_segment), (apply_buffer), (update_buffering),
(reset_rate_timer), (update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_filled),
(gst_queue_chain), (gst_queue_push_one), (gst_queue_loop),
(plugin_init):
fix build.
2007-05-17 13:36:11 +00:00
Wim Taymans
ae69903ca1 gst/playback/: On our way to playbin2 this is the new network queue that does buffering all by itself using high and ...
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_init), (gst_queue_finalize),
(gst_queue_getcaps), (gst_queue_bufferalloc),
(gst_queue_acceptcaps), (update_time_level), (apply_segment),
(apply_buffer), (update_buffering), (reset_rate_timer),
(update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_empty),
(gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one),
(gst_queue_loop), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_change_state),
(gst_queue_set_property), (gst_queue_get_property), (plugin_init):
On our way to playbin2 this is the new network queue that does buffering
all by itself using high and low watermarks. It can also measure up and
downstream bandwidth to optimally size the queue.
2007-05-17 11:57:44 +00:00
Wim Taymans
56f01bc0cb gst/playback/gstplaybasebin.c: Connect to the new queue "pushing" signal instead of the broken "running" one.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue),
(queue_out_of_data):
Connect to the new queue "pushing" signal instead of the broken
"running" one.
2007-05-10 15:28:13 +00:00
Tim-Philipp Müller
997621c9b9 gst/playback/: Better error message for text files.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (type_found), (plugin_init):
* gst/playback/gstdecodebin2.c: (plugin_init):
Better error message for text files.
2007-05-01 18:45:36 +00:00
Wim Taymans
34a49a9a06 gst/playback/gstplaybin.c: Activate sync in playbin, we are ready to handle it for live streams.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink),
(gst_play_bin_change_state):
Activate sync in playbin, we are ready to handle it for live streams.
2007-04-06 12:58:06 +00:00
Tommi Myöhänen
32a727628f gst/playback/gstplaybasebin.c: Fix leak in add_stream(), when g_value_set_object() increases the refcount of streamin...
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/playback/gstplaybasebin.c: (add_stream):
Fix leak in add_stream(), when g_value_set_object() increases the
refcount of streaminfo object. Fixes #426250.
2007-04-05 10:27:06 +00:00
Tommi Myöhänen
8676f3dce7 gst/playback/gstdecodebin2.c: Decodebin2 doesn't unref pads it obtains in some occasions:
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/playback/gstdecodebin2.c: (connect_pad), (expose_pad),
(deactivate_free_recursive):
Decodebin2 doesn't unref pads it obtains in some occasions:
- multiqueue src pads, when either connecting further or exposing
- sink pads of new autoplugged elements
- peer pads when recursively freeing elements
Fixes #425455.
2007-04-03 11:10:52 +00:00
Jan Schmidt
9cbead077e gst/playback/gstplaybin.c: Remove playbin's override of the set_clock vmethod. It's irrelevant after Wim's commit on ...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
Remove playbin's override of the set_clock vmethod. It's irrelevant
after Wim's commit on the 19th.
2007-03-22 17:43:52 +00:00
Tim-Philipp Müller
5b1cd74011 gst/playback/gstplaybin.c: Use GST_PTR_FORMAT to log caps.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink):
Use GST_PTR_FORMAT to log caps.
2007-03-21 11:03:23 +00:00
Wim Taymans
d24780a03b gst/playback/gstdecodebin.c: Don't post STATE_DIRTY anymore.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (remove_fakesink):
Don't post STATE_DIRTY anymore.
* gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_send_event),
(gst_play_bin_change_state):
Remove stream_time reset in seek handling, core does that now.
Disable clocking for live pipelines by forcing a NULL clock to the
complete pipeline, core is too smart now for our previous hack.
We can always autoplug in PAUSED now.
2007-03-19 10:52:50 +00:00
Thomas Vander Stichele
f6bd20e5e3 rename utils to pbutils
Original commit message from CVS:
* configure.ac:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/interfaces/mixer.c:
* gst-libs/gst/pbutils/Makefile.am:
* gst-libs/gst/pbutils/descriptions.c:
(gst_pb_utils_get_source_description),
(gst_pb_utils_get_sink_description),
(gst_pb_utils_get_decoder_description),
(gst_pb_utils_get_encoder_description),
(gst_pb_utils_get_element_description),
(gst_pb_utils_add_codec_description_to_tag_list),
(gst_pb_utils_get_codec_description), (gst_pb_utils_list_all):
* gst-libs/gst/pbutils/descriptions.h:
* gst-libs/gst/pbutils/install-plugins.c:
* gst-libs/gst/pbutils/install-plugins.h:
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_source_message_new),
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new),
(gst_missing_plugin_message_get_description):
* gst-libs/gst/pbutils/missing-plugins.h:
* gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init):
* gst-libs/gst/pbutils/pbutils.h:
* gst-libs/gst/utils/Makefile.am:
* gst-libs/gst/utils/base-utils.c:
* gst-libs/gst/utils/base-utils.h:
* gst-libs/gst/utils/descriptions.c:
* gst-libs/gst/utils/descriptions.h:
* gst-libs/gst/utils/install-plugins.c:
* gst-libs/gst/utils/install-plugins.h:
* gst-libs/gst/utils/missing-plugins.c:
* gst-libs/gst/utils/missing-plugins.h:
* gst-plugins-base.spec.in:
* gst/playback/Makefile.am:
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybasebin.c: (setup_subtitle),
(gen_source_element):
* gst/playback/gstplaybin.c: (plugin_init):
* tests/check/Makefile.am:
* tests/check/libs/pbutils.c: (GST_START_TEST),
(test_pb_utils_install_plugins_do_callout), (libgstpbutils_suite):
* tests/check/libs/utils.c:
rename utils to pbutils
2007-03-04 23:39:51 +00:00
Jan Schmidt
c73e88a6a1 Add documentation for decodebin2 that indicates that the API is still unstable.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/inspect/plugin-decodebin2.xml:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
Add documentation for decodebin2 that indicates that the API
is still unstable.
2007-03-02 12:59:15 +00:00
Ed Catmur
61eaa5eb9b gst/playback/gstplaybin.c: Fix race condition when rapidly switching visualisations in playbin.
Original commit message from CVS:
Patch by: Ed Catmur <ed at catmur dot co dot uk>
* gst/playback/gstplaybin.c: (gst_play_bin_vis_unblocked),
(gst_play_bin_vis_blocked), (gst_play_bin_set_property):
Fix race condition when rapidly switching visualisations in playbin.
Fixes #401029.
2007-02-28 15:17:20 +00:00
Tim-Philipp Müller
d35f4efe67 gst/playback/gstplaybin.c: Improve docs: point out that the application needs to assist playbin with buffering.
Original commit message from CVS:
* gst/playback/gstplaybin.c:
Improve docs: point out that the application needs to assist playbin
with buffering.
2007-02-23 18:49:29 +00:00
Edward Hervey
7bc6fc07a1 gst/playback/gstdecodebin2.c: Don't free groups from the streaming threads. Just put them aside and free them in disp...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
(multi_queue_underrun_cb), (gst_decode_group_check_if_drained),
(sort_end_pads), (gst_decode_group_expose),
(gst_decode_group_hide):
Don't free groups from the streaming threads. Just put them aside and
free them in dispose.
2007-02-20 15:44:32 +00:00
Edward Hervey
7746c2f176 gst/playback/gstdecodebin2.c: Handle dynamic pads within groups.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (connect_element),
(pad_added_group_cb), (gst_decode_group_check_if_blocked),
(sort_end_pads), (gst_decode_group_expose):
Handle dynamic pads within groups.
Sort pads before exposing them in order to make playbin happy.
There still is a race with the multiqueue filling up. This should be
solved separately.
Fixes #398721
2007-02-20 11:20:52 +00:00
Tim-Philipp Müller
a58a6b1854 gst/playback/gstplaybasebin.c: When we have external subtitles and wait for the subtitle decodebin to get up and runn...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
When we have external subtitles and wait for the subtitle decodebin
to get up and running, we set up a (sync) bus handler for the
subtitle decodebin, so we can stop waiting when it posts an error
message. However, we should do that before we set the subtitle
decodebin's state to playing, otherwise things are racy and we might
miss error messages posted before we had a chance to set up the bus.
This should finally fix totem hanging on .txt pseudo-subtitle files.
2007-02-12 10:33:40 +00:00
Tim-Philipp Müller
12f5dd47ef gst/playback/: Don't error out if there is no fakesink in the READY to NULL state change, since when decodebin is re-...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (add_fakesink),
(gst_decode_bin_change_state):
* gst/playback/gstdecodebin2.c: (add_fakesink),
(gst_decode_bin_change_state):
Don't error out if there is no fakesink in the READY to NULL state
change, since when decodebin is re-used, we're only adding the
fakesink element in READY to PAUSED.
* tests/check/elements/decodebin.c:
(new_decoded_pad_plug_fakesink_cb), (GST_START_TEST),
(decodebin_suite):
Minimal unit test to make sure we can use the same decodebin
instance twice (at least with audiotestsrc input).
2007-02-09 13:16:27 +00:00
Jan Schmidt
800cd83487 gst/playback/gstplaybin.c: Add audioresample+audioconvert in front of the visualisation element, so that elements lik...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_vis_element):
Add audioresample+audioconvert in front of the visualisation
element, so that elements like libvisual 0.4 that don't support all
samplerates can work.
Fixes: #402505
2007-01-31 15:58:53 +00:00
Tim-Philipp Müller
514c2d7610 gst/playback/gstplaybasebin.c: Take some locks and make a copy of the streaminfo value array we maintain while holdin...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property),
(gst_play_base_bin_get_streaminfo_value_array):
Take some locks and make a copy of the streaminfo value array we
maintain while holding the lock, so that the application can
retrieve the stream-info as a value array in a thread-safe way.
2007-01-30 19:19:37 +00:00
Wim Taymans
ce1ff3c94c gst/playback/gstplaybasebin.c: Don't try to disconnect a signal from a finalized object.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (remove_source):
Don't try to disconnect a signal from a finalized object.
2007-01-25 16:02:41 +00:00
Tim-Philipp Müller
af52900954 gst/playback/gstdecodebin2.c: Cast lock macro parameters to make sure we're actually accessing the lock member at the...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose):
Cast lock macro parameters to make sure we're actually accessing the
lock member at the right class level. Free list itself in _dispose()
as well and NULL it in case dispose gets called multiple times.
2007-01-25 14:29:21 +00:00
Edward Hervey
a8d29e1f82 gst/playback/gstdecodebin2.c: Free GstDecodeGroups no longer used.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
(gst_decode_bin_dispose),(gst_decode_bin_finalize):
Free GstDecodeGroups no longer used.
(gst_decode_group_expose):
Don't unlock too many times !
(deactivate_free_recursive):
Free iterator once we're done with it.
Fix for recursively deactivating elements (stop at ghostpads).
2007-01-25 14:02:37 +00:00
Tim-Philipp Müller
dab1309f32 gst/playback/gstplaybin.c: Fix up caps on the frame buffer before we save it and potentially make it accessible to ot...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (handoff):
Fix up caps on the frame buffer before we save it and potentially
make it accessible to other threads via g_object_get; also use
gst_buffer_replace() instead of gst_mini_object_replace().
2007-01-25 12:24:18 +00:00
Tim-Philipp Müller
d289e2d55c gst/playback/gstplaybin.c: Make getting the current frame thread-safe.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_get_property):
Make getting the current frame thread-safe.
2007-01-25 12:06:59 +00:00
Edward Hervey
77cf01b76b gst/playback/gstdecodebin2.c: Set queues to bigger sizes to cope with HD contents.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize),
(gst_decode_group_new), (gst_decode_group_free):
Set queues to bigger sizes to cope with HD contents.
Fix some mutex freeing and add comment about MT safe methods.
2007-01-25 11:48:10 +00:00
Tim-Philipp Müller
b8d04c8843 gst/playback/gstdecodebin2.c: Don't leak mutex.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize):
Don't leak mutex.
* tests/check/elements/playbin.c:
(test_sink_usage_video_only_stream),
(test_suburi_error_unknowntype), (test_suburi_error_invalidfile),
(test_suburi_error_wrongproto), (test_missing_urisource_handler),
(test_missing_suburisource_handler),
(test_missing_primary_decoder), (playbin_suite):
Run all tests once with decodebin and once with decodebin2.
One test does not pass yet with decodebin2.
2007-01-23 17:49:29 +00:00
Edward Hervey
a5146c9037 gst/playback/gstdecodebin2.c: Cleanups.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_group_new),
(get_current_group), (group_demuxer_event_probe),
(gst_decode_group_expose), (deactivate_free_recursive),
(gst_decode_group_free):
Cleanups.
Don't forget to emit 'no-more-pads' once a group is exposed.
Cleanup elements from a DecodeGroup once we remove it.
Protect call to gst_decode_group_expose() with the decodebin lock.
2007-01-22 17:37:38 +00:00
Tim-Philipp Müller
acf3bcdfbb gst/playback/gstplaybasebin.c: Attempt at a better error message in case we don't have the required
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_subtitle),
(gen_source_element), (gst_play_base_bin_change_state):
Attempt at a better error message in case we don't have the required
URI handler installed; post missing-plugin message also when we're
missing an URI handler for the subtitle URI; clean up properly also
when an error occurs and we never made it to PAUSED state.
* tests/check/elements/playbin.c: (GST_START_TEST),
(playbin_suite):
Check that we're also getting a missing-plugin messsage for a
missing subtitle URI handler (and clean up properly).
2007-01-19 19:09:05 +00:00
Tim-Philipp Müller
638dbd7b71 gst/playback/gstplaybasebin.c: Plug a few reference leaks.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (analyse_source), (setup_source):
Plug a few reference leaks.
2007-01-19 18:47:30 +00:00
Tim-Philipp Müller
5262208d6e gst/playback/: Let decodebin be the element to post missing-plugin messages for missing decoders (rather than playbin...
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstdecodebin.c: (close_pad_link):
* gst/playback/gstdecodebin2.c: (analyze_new_pad):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_handle_message_func), (unknown_type):
Let decodebin be the element to post missing-plugin messages for
missing decoders (rather than playbin); make playbin implement
GstBin::handle_message so we can suppress missing-plugin messages
for types we're not handling on purpose (don't want to bring up an
installer in those cases).
2007-01-17 16:11:14 +00:00
Tim-Philipp Müller
9de43e8bc5 gst/playback/gstplaybin.c: Post missing-plugin messages also when we error out because converters, textoverlay or aut...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (post_missing_element_message),
(gen_video_element), (gen_text_element), (gen_audio_element),
(gen_vis_element):
Post missing-plugin messages also when we error out because
converters, textoverlay or auto*sinks are missing (#161922).
2007-01-11 13:12:17 +00:00
Wim Taymans
3f147830e1 gst/playback/: Fix the case where we try to ref a NULL element when we delay a link because of unfixed caps.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (dynamic_add), (close_pad_link),
(is_demuxer_element), (new_caps):
* gst/playback/gstplaybasebin.c: (source_new_pad):
Fix the case where we try to ref a NULL element when we delay a link
because of unfixed caps.
Set the state of autoplugged decodebins to PAUSED.
RTSP now works in playbin, we can remove it from the blacklist.
2007-01-10 16:08:18 +00:00
Tim-Philipp Müller
686ad73bfe gst/playback/: Post missing-plugin messages on the bus for missing sources and missing decoders/demuxers/depayloaders...
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplaybasebin.c: (string_arr_has_str),
(unknown_type), (setup_subtitle), (gen_source_element):
* gst/playback/gstplaybin.c: (plugin_init):
Post missing-plugin messages on the bus for missing sources and
missing decoders/demuxers/depayloaders; fix error code used when
we're missing an URI handler source; for media types that we are not
handling on purpose at the moment, don't print "don't know how to
handle xyz" messages to the terminal or post missing-plugin
messages on the bus.
* tests/check/elements/playbin.c: (create_playbin),
(GST_START_TEST), (gst_codec_src_uri_get_type),
(gst_codec_src_uri_get_protocols), (gst_codec_src_uri_get_uri),
(gst_codec_src_uri_set_uri), (gst_codec_src_uri_handler_init),
(gst_codec_src_init_type), (gst_codec_src_base_init),
(gst_codec_src_create), (gst_codec_src_class_init),
(gst_codec_src_init), (plugin_init), (playbin_suite):
Add some tests for the missing-plugin stuff.
2007-01-09 14:33:24 +00:00