GNOME Bugzilla – Bug 328241
id3demux emits NULL date for year tags
Last modified: 2006-01-25 04:31:52 UTC
When encountering a year id3 tag, id3demux emits a GST_TAG_DATE, however the GDate inside the GstDate is set to NULL. This occurs with the several mp3s I've tested, including old files and newly-tagged ones. This was first noted in bug 309609. Looking at id3v2_tag_to_taglist [gst-plugins-good/gst/id3demux/id3v2frames.c], seems like it should be working fine, as it's not emitting the warning, but I haven't tried stepping through with gdb to see what is actually happening.
This is probably because the date string from the mp3 only had the year, which the GstDate conversion doesn't handle. I'm about to commit a fix.
Committed. Do you have a GStreamer gst-plugins-good CVS install you can test against?
Works for me with a fresh cvs checkout of -good.
Score one for truth and justice then: * gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag): * gst/id3demux/id3tags.h: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_comment_frame), (parse_text_identification_frame), (id3v2_tag_to_taglist), (id3v2_are_digits), (id3v2_genre_string_to_taglist), (id3v2_genre_fields_to_taglist), (parse_split_strings), (free_tag_strings): Rewrite parsing of text tags to handle multiple NULL terminated strings. Parse numeric genre strings and ID3v2 type "(3)(6)Alternative" style genre strings. Parse dates that are only YYYY or YYYY-mm format. (Fixes #328241)
*** Bug 328148 has been marked as a duplicate of this bug. ***