summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux/qtdemux_dump.c
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2009-02-06 16:16:05 -0800
committerDavid Schleef <ds@schleef.org>2009-02-06 16:21:58 -0800
commit40bd3772306e1b6942c11d0aa40c3c31b1444e17 (patch)
treeca6b589888c85ae3264521e7be31cfd339d7f54a /gst/qtdemux/qtdemux_dump.c
parentdb0b8755e00bbdeed3882ad0e891462ff8b3f9b6 (diff)
qtdemux: Add handling for stps atoms
stps atoms contain "partial sync" information, which means that it's a sync point where pts != dts. This is needed to properly handle MPEG2, H.264, Dirac, etc., in quicktime.
Diffstat (limited to 'gst/qtdemux/qtdemux_dump.c')
-rw-r--r--gst/qtdemux/qtdemux_dump.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gst/qtdemux/qtdemux_dump.c b/gst/qtdemux/qtdemux_dump.c
index 391d67a0..506a3f7e 100644
--- a/gst/qtdemux/qtdemux_dump.c
+++ b/gst/qtdemux/qtdemux_dump.c
@@ -233,6 +233,25 @@ qtdemux_dump_stts (GstQTDemux * qtdemux, guint8 * buffer, int depth)
}
void
+qtdemux_dump_stps (GstQTDemux * qtdemux, guint8 * buffer, int depth)
+{
+ int i;
+ int n;
+ int offset;
+
+ GST_LOG ("%*s version/flags: %08x", depth, "", QT_UINT32 (buffer + 8));
+ GST_LOG ("%*s n entries: %d", depth, "", QT_UINT32 (buffer + 12));
+ n = QT_UINT32 (buffer + 12);
+ offset = 16;
+ for (i = 0; i < n; i++) {
+ GST_LOG ("%*s sample: %u", depth, "",
+ QT_UINT32 (buffer + offset));
+
+ offset += 4;
+ }
+}
+
+void
qtdemux_dump_stss (GstQTDemux * qtdemux, guint8 * buffer, int depth)
{
int i;