summaryrefslogtreecommitdiffstats
path: root/gst/id3demux
Commit message (Collapse)AuthorAgeFilesLines
* gst/id3demux/id3v2frames.c: Adjust for data length indicators when parsing ↵Jan Schmidt2006-02-041-9/+14
| | | | | | | | | | | | (Fixes #329810) 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.
* gst/id3demux/id3v2frames.c: Never output a tag with a null contents string.Jan Schmidt2006-02-031-3/+15
| | | | | | | | 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.
* gst/id3demux/: Someone should kick my butt. Remove ID3v1 tags from the end ↵Jan Schmidt2006-01-302-8/+26
| | | | | | | | | | | | | | | | | of the file. Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_chain), (gst_id3demux_read_id3v1), (gst_id3demux_sink_activate), (gst_id3demux_send_tag_event): * gst/id3demux/id3tags.c: (id3demux_read_id3v1_tag): Someone should kick my butt. Remove ID3v1 tags from the end of the file. Improve error messages. Send the TAG message as soon as we complete typefinding, instead of waiting until we send the first buffer. Downstream tag event is still sent before the first buffer.
* gst/id3demux/gstid3demux.c: Don't put function calls in g_return_if_fail() ↵Tim-Philipp Müller2006-01-251-3/+5
| | | | | | | | | | statements, or they'll be replaced with NO... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_remove_srcpad): Don't put function calls in g_return_if_fail() statements, or they'll be replaced with NOOPs if someone compiles with G_DISABLE_CHECKS defined.
* gst/id3demux/id3v2frames.c: Never trust ANY information encoded in a media ↵Jan Schmidt2006-01-251-0/+11
| | | | | | | | | file, especially when it's giving you size... 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)
* gst/id3demux/id3v2frames.c: Remove errant break statement, and fix ↵Jan Schmidt2006-01-231-4/+3
| | | | | | | | | compilation with older GCC. Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): Remove errant break statement, and fix compilation with older GCC.
* gst/id3demux/: Rewrite parsing of text tags to handle multiple NULL ↵Jan Schmidt2006-01-233-83/+235
| | | | | | | | | | | | | | | | | terminated strings. Parse numeric genre strings a... 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.
* gst/id3demux/id3v2frames.c: Fix compilation of id3demux when zlib is not ↵Sergey Scobich2006-01-151-0/+6
| | | | | | | | | present. 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)
* gst/id3demux/gstid3demux.c: Add gst_element_no_more_pads() for proper ↵Edward Hervey2006-01-062-6/+8
| | | | | | | | | | | | | | decodebin behaviour. 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.
* gst/id3demux/id3tags.c: If a broken tag has 0 bytes payload, at least still ↵Jan Schmidt2005-12-281-1/+4
| | | | | | | | | 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
* Add documentation for id3demux.Jan Schmidt2005-12-212-14/+34
| | | | | | | | | | | | | | | | | | Original commit message from CVS: 2005-12-21 Jan Schmidt <thaytan@mad.scientist.com> * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * gst/id3demux/gstid3demux.c: (gst_id3demux_get_type), (gst_id3demux_base_init), (gst_id3demux_class_init), (gst_id3demux_chain): * gst/id3demux/gstid3demux.h: Add documentation for id3demux. Don't fail if the first buffer is not at offset 0, just attempt to typefind and do pass through Rename the gst_type function from gst_gst_id3demux..
* configure.ac: Check for optional dependency on zlib for id3demuxJan Schmidt2005-12-188-0/+4565
Original commit message from CVS: * configure.ac: Check for optional dependency on zlib for id3demux * gst/id3demux/Makefile.am: * gst/id3demux/gstid3demux.c: (gst_gst_id3demux_get_type), (gst_id3demux_base_init), (gst_id3demux_class_init), (gst_id3demux_reset), (gst_id3demux_init), (gst_id3demux_dispose), (gst_id3demux_add_srcpad), (gst_id3demux_remove_srcpad), (gst_id3demux_trim_buffer), (gst_id3demux_chain), (gst_id3demux_set_property), (gst_id3demux_get_property), (id3demux_get_upstream_size), (gst_id3demux_srcpad_event), (gst_id3demux_read_id3v1), (gst_id3demux_read_id3v2), (gst_id3demux_sink_activate), (gst_id3demux_src_activate_pull), (gst_id3demux_src_checkgetrange), (gst_id3demux_read_range), (gst_id3demux_src_getrange), (gst_id3demux_change_state), (gst_id3demux_pad_query), (gst_id3demux_get_query_types), (simple_find_peek), (simple_find_suggest), (gst_id3demux_do_typefind), (gst_id3demux_send_tag_event), (plugin_init): * gst/id3demux/gstid3demux.h: * gst/id3demux/id3tags.c: (read_synch_uint), (id3demux_read_id3v1_tag), (id3demux_read_id3v2_tag), (id3demux_id3v2_frame_hdr_size), (convert_fid_to_v240), (id3demux_id3v2_frames_to_tag_list): * gst/id3demux/id3tags.h: * gst/id3demux/id3v2.4.0-frames.txt: * gst/id3demux/id3v2.4.0-structure.txt: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_comment_frame), (parse_text_identification_frame), (id3v2_tag_to_taglist), (parse_split_strings): All new LGPL id3 demuxer. Can use zlib for compressed frames, otherwise it discards them. Works on my test files. * gst/wavparse/gstwavparse.c: (gst_wavparse_loop): Don't send EOS to a non-existing srcpad The debug category can be static