diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2011-04-16 14:45:25 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2011-04-16 14:45:25 +0200 |
commit | 8a4ae3dd2de4de1a11d982102e3881e313d4f37a (patch) | |
tree | c910bafd06a12793af56edb71f275da8a77651ad /gst | |
parent | 0024300aa26ad4a6ad045d2f331556dafd2127e3 (diff) | |
download | gstreamer-plugins-good-8a4ae3dd2de4de1a11d982102e3881e313d4f37a.tar.gz |
apedemux: Port to 0.11
Diffstat (limited to 'gst')
-rw-r--r-- | gst/apetag/gstapedemux.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gst/apetag/gstapedemux.c b/gst/apetag/gstapedemux.c index c57d98863..d243c8907 100644 --- a/gst/apetag/gstapedemux.c +++ b/gst/apetag/gstapedemux.c @@ -359,17 +359,19 @@ static GstTagDemuxResult gst_ape_demux_parse_tag (GstTagDemux * demux, GstBuffer * buffer, gboolean start_tag, guint * tag_size, GstTagList ** tags) { - const guint8 *data; - const guint8 *footer; + guint8 *data_start, *data; + guint8 *footer; gboolean have_header; gboolean end_tag = !start_tag; GstCaps *sink_caps; guint version, footer_size; + gsize size; + + data_start = data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ); - GST_LOG_OBJECT (demux, "Parsing buffer of size %u", GST_BUFFER_SIZE (buffer)); + GST_LOG_OBJECT (demux, "Parsing buffer of size %" G_GSIZE_FORMAT, size); - data = GST_BUFFER_DATA (buffer); - footer = GST_BUFFER_DATA (buffer) + GST_BUFFER_SIZE (buffer) - 32; + footer = data + size - 32; GST_LOG_OBJECT (demux, "Checking for footer at offset 0x%04x", (guint) (footer - data)); @@ -428,6 +430,8 @@ gst_ape_demux_parse_tag (GstTagDemux * demux, GstBuffer * buffer, GST_TAG_CONTAINER_FORMAT, sink_caps); gst_caps_unref (sink_caps); + gst_buffer_unmap (buffer, data_start, size); + return GST_TAG_DEMUX_RESULT_OK; } |