playbin: only use raw_decoding_mode when it's true

First check the pad caps if they are raw before setting the raw_decoding_mode to
TRUE. Fixes playback of transport streams and other streams that require large
queues.
Fixes #579734
This commit is contained in:
Wim Taymans 2009-04-21 20:57:34 +02:00 committed by Wim Taymans
parent 8efe6108c4
commit 8f8b638d31

View file

@ -1709,8 +1709,8 @@ source_new_pad (GstElement * element, GstPad * pad, GstPlayBaseBin * bin)
GST_DEBUG_PAD_NAME (pad), GST_ELEMENT_NAME (element)); GST_DEBUG_PAD_NAME (pad), GST_ELEMENT_NAME (element));
/* if this is a pad with all raw caps, we can expose it */ /* if this is a pad with all raw caps, we can expose it */
bin->raw_decoding_mode = TRUE;
if (has_all_raw_caps (pad, &is_raw) && is_raw) { if (has_all_raw_caps (pad, &is_raw) && is_raw) {
bin->raw_decoding_mode = TRUE;
/* it's all raw, create output pads. */ /* it's all raw, create output pads. */
new_decoded_pad_full (element, pad, FALSE, bin, FALSE); new_decoded_pad_full (element, pad, FALSE, bin, FALSE);
return; return;