From 9c2e08c54d4a9021dd915b1c8f25fc034f73aeb4 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Tue, 14 Jul 2015 00:03:10 -0300 Subject: decodebin: only try to expose complete groups When switching to a new chain it might be that this new chain is not yet ready to be exposed so check it before exposing. Can happen with mpegts that might delay adding pads or pushing data until it has found the PMT/PAT/PCR and that may take a while depending on the stream. It happened frequently with HLS: http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/appleman.m3u8 --- gst/playback/gstdecodebin2.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gst/playback/gstdecodebin2.c') diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index 6f72dd34e..cc36c9f38 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -4352,8 +4352,12 @@ retry: &drained, &switched); GST_ELEMENT_WARNING (dbin, STREAM, FAILED, (NULL), ("all streams without buffers")); - if (switched) - goto retry; + if (switched) { + if (gst_decode_chain_is_complete (dbin->decode_chain)) + goto retry; + else + return FALSE; + } } } -- cgit v1.2.1