qtdemux: only look for more samples in moofs in pull-mode

For playback of some fragmented formats with qtdemux it will
try to look for the next moof after finishing one but it is only
possible for pull-mode. For playback of streaming fragmented formats
such as DASH it should just not try to look for another moof but
instead wait for more data.

https://bugzilla.gnome.org/show_bug.cgi?id=752602

https://bugzilla.gnome.org/show_bug.cgi?id=752603
This commit is contained in:
Thiago Santos 2015-08-15 10:34:14 -03:00
parent 64b06d1829
commit 41a4b68390

View file

@ -7769,11 +7769,13 @@ done:
/* if index has been completely parsed, free data that is no-longer needed */
if (n + 1 == stream->n_samples) {
gst_qtdemux_stbl_free (stream);
GST_DEBUG_OBJECT (qtdemux,
"parsed all available samples; checking for more");
while (n + 1 == stream->n_samples)
if (qtdemux_add_fragmented_samples (qtdemux) != GST_FLOW_OK)
break;
GST_DEBUG_OBJECT (qtdemux, "parsed all available samples;");
if (qtdemux->pullbased) {
GST_DEBUG_OBJECT (qtdemux, "checking for more samples");
while (n + 1 == stream->n_samples)
if (qtdemux_add_fragmented_samples (qtdemux) != GST_FLOW_OK)
break;
}
}
GST_OBJECT_UNLOCK (qtdemux);