diff options
author | Edward Hervey <bilboed@bilboed.com> | 2009-06-14 10:36:17 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2009-06-24 12:37:38 +0200 |
commit | 279be9432175396943e900ea4d42b721fa6771c8 (patch) | |
tree | 583bdf6795c5ce00d32531f79588c1a7ce61b101 /gst/qtdemux/qtdemux.c | |
parent | 810c60a6f30d2a70a73951fb58c599f1404597b6 (diff) |
qtdemux: Add GST_MEMDUMP statements for unknown atoms.
This is to help developers track down and implement unhandled atoms faster.
Diffstat (limited to 'gst/qtdemux/qtdemux.c')
-rw-r--r-- | gst/qtdemux/qtdemux.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 0b7eaf9a..639338a9 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -1509,9 +1509,18 @@ gst_qtdemux_loop_state_header (GstQTDemux * qtdemux) } default: { + GstBuffer *unknown; + GST_LOG_OBJECT (qtdemux, - "unknown %08x '%" GST_FOURCC_FORMAT "' at %" G_GUINT64_FORMAT, fourcc, - GST_FOURCC_ARGS (fourcc), cur_offset); + "unknown %08x '%" GST_FOURCC_FORMAT "' of size %" G_GUINT64_FORMAT + " at %" G_GUINT64_FORMAT, fourcc, GST_FOURCC_ARGS (fourcc), length, + cur_offset); + ret = gst_pad_pull_range (qtdemux->sinkpad, cur_offset, length, &unknown); + if (ret != GST_FLOW_OK) + goto beach; + GST_MEMDUMP ("Unknown tag", GST_BUFFER_DATA (unknown), + GST_BUFFER_SIZE (unknown)); + gst_buffer_unref (unknown); cur_offset += length; qtdemux->offset += length; break; @@ -3136,6 +3145,8 @@ qtdemux_parse_node (GstQTDemux * qtdemux, GNode * node, guint8 * buffer, break; } default: + if (!strcmp (type->name, "unknown")) + GST_MEMDUMP ("Unknown tag", buffer + 4, end - buffer - 4); break; } } |