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
This commit is contained in:
Thiago Santos 2015-07-14 00:03:10 -03:00
parent 1d1bebd769
commit 9c2e08c54d

View file

@ -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;
}
}
}