[Bug 710623] [qtdemux]Video captured by iPad couldn't play in push mode

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Oct 25 23:57:03 CEST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=710623
  GStreamer | gst-plugins-good | 1.0.5

--- Comment #3 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2013-10-25 21:57:02 UTC ---
Created an attachment (id=258146)
 View: https://bugzilla.gnome.org/attachment.cgi?id=258146
 Review: https://bugzilla.gnome.org/review?bug=710623&attachment=258146

qtdemux: When using a buffered mdat, store all received data for later use

In push mode, when qtdemux can't use a seek to skip the mdat buffer it has
to buffer it for later use.

The issue is that after parsing the next moov/moof, there might be some
trailing bytes from the next atom in the file. This data was being discarded
along with the already parsed moov/moof and playback would fail to continue
after the contents of this moov/moof are played.

This is particularly bad on fragmented files that have the mdat before the
corresponding moof. So you'd get:

mdat|moof|mdat|moof ...

When a moof was received, it usually came with some extra bytes that would
belong to the next mdat (because upstream doesn't care about atoms alignment).
So those bytes were being discarded and playback would fail.

This patch makes qtdemux store those extra bytes to reuse them later after the
mdat is emptied.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list