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).
This commit is contained in:
Tim-Philipp Müller 2006-09-14 11:05:35 +00:00
parent e73ddd490e
commit dcba7c77ef
3 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2006-09-14 Tim-Philipp Müller <tim at centricular dot net>
* 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 <tim at centricular dot net>
* gst/icydemux/gsticydemux.c: (gst_icydemux_reset),

View file

@ -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;

View file

@ -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;