summaryrefslogtreecommitdiff
path: root/gst/isomp4/qtdemux_dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/isomp4/qtdemux_dump.c')
-rw-r--r--gst/isomp4/qtdemux_dump.c64
1 files changed, 22 insertions, 42 deletions
diff --git a/gst/isomp4/qtdemux_dump.c b/gst/isomp4/qtdemux_dump.c
index fa66767..a45afd9 100644
--- a/gst/isomp4/qtdemux_dump.c
+++ b/gst/isomp4/qtdemux_dump.c
@@ -330,27 +330,6 @@ qtdemux_dump_stts (GstQTDemux * qtdemux, GstByteReader * data, int depth)
}
gboolean
-qtdemux_dump_stps (GstQTDemux * qtdemux, GstByteReader * data, int depth)
-{
- guint32 ver_flags = 0, num_entries = 0, i;
-
- if (!gst_byte_reader_get_uint32_be (data, &ver_flags) ||
- !gst_byte_reader_get_uint32_be (data, &num_entries))
- return FALSE;
-
- GST_LOG ("%*s version/flags: %08x", depth, "", ver_flags);
- GST_LOG ("%*s n entries: %d", depth, "", num_entries);
-
- if (!qt_atom_parser_has_chunks (data, num_entries, 4))
- return FALSE;
-
- for (i = 0; i < num_entries; i++) {
- GST_LOG ("%*s sample: %u", depth, "", GET_UINT32 (data));
- }
- return TRUE;
-}
-
-gboolean
qtdemux_dump_stss (GstQTDemux * qtdemux, GstByteReader * data, int depth)
{
guint32 ver_flags = 0, num_entries = 0, i;
@@ -489,27 +468,6 @@ qtdemux_dump_co64 (GstQTDemux * qtdemux, GstByteReader * data, int depth)
}
gboolean
-qtdemux_dump_dcom (GstQTDemux * qtdemux, GstByteReader * data, int depth)
-{
- if (!qt_atom_parser_has_remaining (data, 4))
- return FALSE;
-
- GST_LOG ("%*s compression type: %" GST_FOURCC_FORMAT, depth, "",
- GST_FOURCC_ARGS (GET_FOURCC (data)));
- return TRUE;
-}
-
-gboolean
-qtdemux_dump_cmvd (GstQTDemux * qtdemux, GstByteReader * data, int depth)
-{
- if (!qt_atom_parser_has_remaining (data, 4))
- return FALSE;
-
- GST_LOG ("%*s length: %d", depth, "", GET_UINT32 (data));
- return TRUE;
-}
-
-gboolean
qtdemux_dump_mfro (GstQTDemux * qtdemux, GstByteReader * data, int depth)
{
if (!qt_atom_parser_has_remaining (data, 4))
@@ -721,6 +679,28 @@ qtdemux_dump_mehd (GstQTDemux * qtdemux, GstByteReader * data, int depth)
}
gboolean
+qtdemux_dump_tfdt (GstQTDemux * qtdemux, GstByteReader * data, int depth)
+{
+ guint32 version = 0;
+ guint64 decode_time;
+ guint value_size;
+
+ if (!gst_byte_reader_get_uint32_be (data, &version))
+ return FALSE;
+
+ GST_LOG ("%*s version/flags: %08x", depth, "", version);
+
+ value_size = ((version >> 24) == 1) ? sizeof (guint64) : sizeof (guint32);
+ if (qt_atom_parser_get_offset (data, value_size, &decode_time)) {
+ GST_LOG ("%*s Track fragment decode time: %" G_GUINT64_FORMAT,
+ depth, "", decode_time);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+gboolean
qtdemux_dump_sdtp (GstQTDemux * qtdemux, GstByteReader * data, int depth)
{
guint32 version;