Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
* gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Handle 0 data size in otherwise valid frames.
Handle numeric strings in 2.4.0 even when not in parentheses
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_insert_string_field),
(parse_split_strings):
Add more validation to ensure that a char encoding conversion
produced a valid UTF-8 string.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_split_strings):
Adjust for data length indicators when parsing (Fixes#329810)
Fix stupid bug parsing UTF-8 tag text.
Output tag strings with multiple fields as multiple tags, so the
app gets all the data.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_text_identification_frame),
(id3v2_tag_to_taglist), (id3v2_genre_string_to_taglist),
(id3v2_genre_fields_to_taglist):
Never output a tag with a null contents string.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame):
Never trust ANY information encoded in a media file, especially
when it's giving you sizes. (Fixes#328452)
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist):
Remove errant break statement, and fix compilation with
older GCC.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame):
Fix compilation of id3demux when zlib is not present.
(Fixes#326602; patch by: Sergey Scobich)
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad):
Add gst_element_no_more_pads() for proper decodebin behaviour.
* gst/id3demux/id3v2frames.c: (parse_comment_frame),
(parse_text_identification_frame), (parse_split_strings):
Failure to decode some tags is not a GST_ERROR() but a
GST_WARNING()
When iterating over a chunk of text, check that we haven't gone too
far.