From 365437cbc0a210a71756528331c5b3b6fd667813 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 28 Mar 2007 15:17:27 +0000 Subject: gst/qtdemux/: Process 'ctts' atoms, which are present in AVC ISO files (.mov files with h264 video). Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample), (gst_qtdemux_chain), (qtdemux_parse_samples): * gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_ctts): * gst/qtdemux/qtdemux_dump.h: * gst/qtdemux/qtdemux_fourcc.h: * gst/qtdemux/qtdemux_types.c: Process 'ctts' atoms, which are present in AVC ISO files (.mov files with h264 video). Use the offset present in 'ctts' to calculate the PTS for each packet and set the PTS on outgoing buffers. Fixes #423283 --- gst/qtdemux/qtdemux_dump.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gst/qtdemux/qtdemux_dump.c') diff --git a/gst/qtdemux/qtdemux_dump.c b/gst/qtdemux/qtdemux_dump.c index 561b20d0..357a5b15 100644 --- a/gst/qtdemux/qtdemux_dump.c +++ b/gst/qtdemux/qtdemux_dump.c @@ -297,6 +297,26 @@ qtdemux_dump_stco (GstQTDemux * qtdemux, guint8 * buffer, int depth) } } +void +qtdemux_dump_ctts (GstQTDemux * qtdemux, guint8 * buffer, int depth) +{ + int i; + int n; + int offset; + + GST_LOG ("%*s version/flags: %08x", depth, "", QT_UINT32 (buffer + 8)); + n = QT_UINT32 (buffer + 12); + GST_LOG ("%*s n entries: %d", depth, "", n); + offset = 16; + for (i = 0; i < n; i++) { + GST_LOG ("%*s sample count :%8d offset: %8d", + depth, "", QT_UINT32 (buffer + offset), + QT_UINT32 (buffer + offset + 4)); + + offset += 8; + } +} + void qtdemux_dump_co64 (GstQTDemux * qtdemux, guint8 * buffer, int depth) { -- cgit v1.2.1