From: Sebastian Dröge Date: Fri, 27 Aug 2010 18:45:19 +0000 (+0200) Subject: uridecodebin: Only enable progressive downloading if the upstream duration in bytes... X-Git-Tag: RELEASE-0.10.31~269 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c591b98864a25fcee865978142d8b79216aac76c;p=platform%2Fupstream%2Fgst-plugins-base.git uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known Otherwise we might try to enable it for live streams, where this would cause playback to fail completely. Fixes bug #628028. --- diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index 391678d..1df1bb6 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -1477,6 +1477,14 @@ type_found (GstElement * typefind, guint probability, /* remember if we need download buffering */ decoder->is_download = IS_DOWNLOAD_MEDIA (media_type) && decoder->download; + /* only enable download buffering if the upstream duration is known */ + if (decoder->is_download) { + GstFormat fmt = GST_FORMAT_BYTES; + gint64 dur; + + decoder->is_download = (gst_element_query_duration (typefind, &fmt, &dur) + && fmt == GST_FORMAT_BYTES && dur != -1); + } dec_elem = make_decoder (decoder); if (!dec_elem)