summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2011-04-16 14:45:25 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2011-04-16 14:45:25 +0200
commit8a4ae3dd2de4de1a11d982102e3881e313d4f37a (patch)
treec910bafd06a12793af56edb71f275da8a77651ad /gst
parent0024300aa26ad4a6ad045d2f331556dafd2127e3 (diff)
downloadgstreamer-plugins-good-8a4ae3dd2de4de1a11d982102e3881e313d4f37a.tar.gz
apedemux: Port to 0.11
Diffstat (limited to 'gst')
-rw-r--r--gst/apetag/gstapedemux.c14
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;
}