mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-08 03:32:18 +00:00
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:
parent
64b06d1829
commit
41a4b68390
1 changed files with 7 additions and 5 deletions
|
@ -7769,11 +7769,13 @@ done:
|
||||||
/* if index has been completely parsed, free data that is no-longer needed */
|
/* if index has been completely parsed, free data that is no-longer needed */
|
||||||
if (n + 1 == stream->n_samples) {
|
if (n + 1 == stream->n_samples) {
|
||||||
gst_qtdemux_stbl_free (stream);
|
gst_qtdemux_stbl_free (stream);
|
||||||
GST_DEBUG_OBJECT (qtdemux,
|
GST_DEBUG_OBJECT (qtdemux, "parsed all available samples;");
|
||||||
"parsed all available samples; checking for more");
|
if (qtdemux->pullbased) {
|
||||||
while (n + 1 == stream->n_samples)
|
GST_DEBUG_OBJECT (qtdemux, "checking for more samples");
|
||||||
if (qtdemux_add_fragmented_samples (qtdemux) != GST_FLOW_OK)
|
while (n + 1 == stream->n_samples)
|
||||||
break;
|
if (qtdemux_add_fragmented_samples (qtdemux) != GST_FLOW_OK)
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
GST_OBJECT_UNLOCK (qtdemux);
|
GST_OBJECT_UNLOCK (qtdemux);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue