qtdemux: Add cslg support
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 18 Jun 2015 20:06:02 +0000 (16:06 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Mon, 22 Jun 2015 21:51:49 +0000 (17:51 -0400)
commitdd72267a8da0d2884ff9ecff6731ab753562258d
treea3d816eacb8b747e05600bc2bfbb0f75386262a7
parent89104e35bf43083018ef4482029b367160db8aeb
qtdemux: Add cslg support

The cslg atom provide information about the DTS shift. This is
needed in recent version of ctts atom where the offset can be
negative. When cslg is missing, we parse the CTTS table as proposed
in the spec to calculate these values.

In this implementation, we only need to know the shift. As GStreamer
cannot transport negative timestamps, we shift the timestamps forward
using that value and adapt the segment to compensate. This patch also
removes bogus offset of ctts_soffset, this offset shall be included
in the edit list.

https://bugzilla.gnome.org/show_bug.cgi?id=751103
gst/isomp4/qtdemux.c