From 041a4a0d89ceac910acf0de86d4e68fa2762e3b2 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Wed, 28 Dec 2005 18:55:32 +0000 Subject: gst/id3demux/id3tags.c: If a broken tag has 0 bytes payload, at least still skip the 10 byte header Original commit message from CVS: * gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag): If a broken tag has 0 bytes payload, at least still skip the 10 byte header --- ChangeLog | 6 ++++++ gst/id3demux/id3tags.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 45dd94df..6cef9400 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-12-28 Jan Schmidt + + * gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag): + If a broken tag has 0 bytes payload, at least still skip + the 10 byte header + 2005-12-22 Philippe Khalaf * gst-plugins-good/gst/rtp/gstrtph263pdepay.h: diff --git a/gst/id3demux/id3tags.c b/gst/id3demux/id3tags.c index 1cc8c14e..e25b4291 100644 --- a/gst/id3demux/id3tags.c +++ b/gst/id3demux/id3tags.c @@ -143,9 +143,12 @@ id3demux_read_id3v2_tag (GstBuffer * buffer, guint * id3v2_size, /* Read the size from the header */ read_size = read_synch_uint (data + 6, 4); if (read_size == 0) { + /* Tag has no frames attached. Ignore it, but skip the header */ + if (id3v2_size) + *id3v2_size = ID3V2_HDR_SIZE; return ID3TAGS_BROKEN_TAG; } - read_size += 10; + read_size += ID3V2_HDR_SIZE; /* Expand the read size to include a footer if there is one */ if (flags & ID3V2_HDR_FLAG_FOOTER) { -- cgit