mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
qtdemux: In gap mode, consider the mdat offset when calculating the remaining mdat size
The mdat generally does not start at offset 0, we have to include the size of the moof and whatever else was in front of the mdat.
This commit is contained in:
parent
ea4e9fc2d4
commit
2b50a338c3
1 changed files with 3 additions and 1 deletions
|
@ -3282,6 +3282,7 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun,
|
|||
* size, else we will still be able to use this when dealing with gap'ed
|
||||
* input */
|
||||
qtdemux->mdatleft = *running_offset - initial_offset;
|
||||
qtdemux->mdatoffset = initial_offset;
|
||||
qtdemux->mdatsize = qtdemux->mdatleft;
|
||||
|
||||
stream->n_samples += samples_count;
|
||||
|
@ -6276,7 +6277,8 @@ gst_qtdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * inbuf)
|
|||
/* Finally update all push-based values to the expected values */
|
||||
demux->neededbytes = demux->streams[i]->samples[res].size;
|
||||
demux->offset = GST_BUFFER_OFFSET (inbuf);
|
||||
demux->mdatleft = demux->mdatsize - demux->offset;
|
||||
demux->mdatleft =
|
||||
demux->mdatsize - demux->offset + demux->mdatoffset;
|
||||
demux->todrop = 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue