mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
qtdemux: stop parsing headers for fragmented mp4s at the first moof
Currently during header parsing, we scan through the entire file and skip every moof+mdat chunk for fragmented mp4s, which makes start-up incredibly slow. Instead, just stop at the first moof chunk when have a moov, and start exposing the streams, so we can go and start handling the moofs for real.
This commit is contained in:
parent
75917de294
commit
8a0f4e74e4
1 changed files with 6 additions and 1 deletions
|
@ -3106,7 +3106,12 @@ gst_qtdemux_loop_state_header (GstQTDemux * qtdemux)
|
||||||
if (!qtdemux->moof_offset) {
|
if (!qtdemux->moof_offset) {
|
||||||
qtdemux->moof_offset = qtdemux->offset;
|
qtdemux->moof_offset = qtdemux->offset;
|
||||||
}
|
}
|
||||||
/* fall-through */
|
if (qtdemux->got_moov) {
|
||||||
|
GST_INFO_OBJECT (qtdemux, "moof header, got moov, done with headers");
|
||||||
|
ret = GST_FLOW_EOS;
|
||||||
|
goto beach;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case FOURCC_mdat:
|
case FOURCC_mdat:
|
||||||
case FOURCC_free:
|
case FOURCC_free:
|
||||||
case FOURCC_wide:
|
case FOURCC_wide:
|
||||||
|
|
Loading…
Reference in a new issue