From dcba7c77ef3f3ee2d5c42fd42bab46c2d50f96e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 14 Sep 2006 11:05:35 +0000 Subject: [PATCH] gst/: Don't interpret a first buffer with an offset of NONE as 'from the middle of the stream', but only a first buff... Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Don't interpret a first buffer with an offset of NONE as 'from the middle of the stream', but only a first buffer that has a valid buffer offset that's non-zero (see #345449). --- ChangeLog | 8 ++++++++ gst/apetag/gsttagdemux.c | 2 +- gst/id3demux/gstid3demux.c | 6 ++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 731d079..a8d5ed4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2006-09-14 Tim-Philipp Müller + * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag): + * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): + Don't interpret a first buffer with an offset of NONE as + 'from the middle of the stream', but only a first buffer + that has a valid buffer offset that's non-zero (see #345449). + +2006-09-14 Tim-Philipp Müller + * gst/icydemux/gsticydemux.c: (gst_icydemux_reset), (gst_icydemux_typefind_or_forward): * gst/icydemux/gsticydemux.h: diff --git a/gst/apetag/gsttagdemux.c b/gst/apetag/gsttagdemux.c index 4a18b07..2dd189a 100644 --- a/gst/apetag/gsttagdemux.c +++ b/gst/apetag/gsttagdemux.c @@ -461,7 +461,7 @@ gst_tag_demux_chain_parse_tag (GstTagDemux * demux, GstBuffer * collect) /* If we receive a buffer that's from the middle of the file, * we can't read tags so move to typefinding */ - if (GST_BUFFER_OFFSET (collect) != 0) { + if (GST_BUFFER_OFFSET_IS_VALID (collect) && GST_BUFFER_OFFSET (collect) != 0) { GST_DEBUG_OBJECT (demux, "Received buffer from non-zero offset %" G_GINT64_FORMAT ". Can't read tags", GST_BUFFER_OFFSET (collect)); demux->priv->state = GST_TAG_DEMUX_TYPEFINDING; diff --git a/gst/id3demux/gstid3demux.c b/gst/id3demux/gstid3demux.c index 72bff13..511ef63 100644 --- a/gst/id3demux/gstid3demux.c +++ b/gst/id3demux/gstid3demux.c @@ -419,9 +419,11 @@ gst_id3demux_chain (GstPad * pad, GstBuffer * buf) case GST_ID3DEMUX_READID3V2: /* If we receive a buffer that's from the middle of the file, * we can't read tags so move to typefinding */ - if (GST_BUFFER_OFFSET (id3demux->collect) != 0) { + if (GST_BUFFER_OFFSET_IS_VALID (id3demux->collect) && + GST_BUFFER_OFFSET (id3demux->collect) != 0) { GST_DEBUG_OBJECT (id3demux, - "Received buffer from non-zero offset. Can't read tags"); + "Received buffer with non-zero offset %" G_GINT64_FORMAT + ". Can't read tags", GST_BUFFER_OFFSET (id3demux->collect)); } else { ID3TagsResult tag_result; -- 2.7.4