summaryrefslogtreecommitdiffstats
path: root/gst/id3demux
Commit message (Collapse)AuthorAgeFilesLines
...
* gst/id3demux/id3v2frames.c: A track/volume number or count of 0 does not ↵Tim-Philipp Müller2006-05-281-5/+5
| | | | | | | | | | make sense, just ignore it along with negati... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): A track/volume number or count of 0 does not make sense, just ignore it along with negative numbers (a tag might only contain a track count without a track number).
* gst/id3demux/id3v2frames.c: Don't output any tag when we encounter a ↵Jan Schmidt2006-05-191-32/+25
| | | | | | | | | | negative track number - the tag type is uint, so... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): Don't output any tag when we encounter a negative track number - the tag type is uint, so we end up outputting huge positive numbers instead. (Fixes: #342029)
* gst/autodetect/: Make the name of the child element be based on the name of ↵Jan Schmidt2006-05-161-43/+69
| | | | | | | | | | | | | | | | | | the parent, so that debug output is more ... Original commit message from CVS: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_find_best): Make the name of the child element be based on the name of the parent, so that debug output is more useful. * gst/id3demux/id3v2frames.c: (find_utf16_bom), (parse_insert_string_field), (parse_split_strings): Rework string parsing to always walk over BOM markers in UTF16 strings, using the endianness indicated by the innermost one, then trying the opposite endianness if that fails to convert to valid UTF-8. Fixes #341774
* gst/id3demux/id3v2frames.c: Some more debug info. No need to check whether ↵Tim-Philipp Müller2006-05-121-6/+12
| | | | | | | | | | the string returned by g_convert() is real... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_insert_string_field): Some more debug info. No need to check whether the string returned by g_convert() is really UTF-8 - either it is or we get NULL returned.
* gst/id3demux/id3v2frames.c: Fix parsing of numeric genre strings some more, ↵Jan Schmidt2006-05-101-2/+17
| | | | | | | | | | | | by ensuring that we only try and parse st... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist): Fix parsing of numeric genre strings some more, by ensuring that we only try and parse strings that a) Start with '(' and b) Consist only of digits. Also, when finding an escaping '((' sequence, bust it back to '(' by swallowing the first parenthesis
* gst/id3demux/gstid3demux.c: Let core insert default error message for ↵Tim-Philipp Müller2006-05-021-4/+2
| | | | | | | | | | | TYPE_NOT_FOUND errors, it's just as good as our... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_chain), (gst_id3demux_sink_activate): Let core insert default error message for TYPE_NOT_FOUND errors, it's just as good as our own and has the added bonus of being translated.
* gst/: Post an error message when we get an EOS event and were not able to ↵Tim-Philipp Müller2006-05-021-1/+29
| | | | | | | | | | | | | | | | | find out the type of stream. Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_init), (gst_tag_demux_sink_event): * gst/id3demux/gstid3demux.c: (gst_id3demux_init), (gst_id3demux_sink_event): Post an error message when we get an EOS event and were not able to find out the type of stream. * tests/check/elements/id3v2mux.c: (fill_mp3_buffer), (got_buffer), (test_taglib_id3mux_with_tags): Decrease num-buffers to 16 per iteration again, otherwise the many memcpy()s and reallocations in the test will hammer slow CPUs completely and make the test timeout.
* gst/id3demux/id3v2frames.c: Recognise and skip any byte order marker (BOM) inTim-Philipp Müller2006-04-281-0/+24
| | | | | | | | Original commit message from CVS: * gst/id3demux/id3v2frames.c: (has_utf16_bom), (parse_split_strings): Recognise and skip any byte order marker (BOM) in UTF-16 strings.
* Define GstElementDetails as const and also static (when defined as global)Stefan Kost2006-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/aalib/gstaasink.c: * ext/annodex/gstcmmldec.c: * ext/annodex/gstcmmlenc.c: * ext/cairo/gsttextoverlay.c: * ext/cairo/gsttimeoverlay.c: * ext/cdio/gstcdiocddasrc.c: * ext/dv/gstdvdec.c: * ext/dv/gstdvdemux.c: * ext/esd/esdmon.c: * ext/esd/esdsink.c: * ext/flac/gstflacenc.c: * ext/flac/gstflactag.c: * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init): * ext/gdk_pixbuf/pixbufscale.c: * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/jpeg/gstjpegdec.c: * ext/jpeg/gstjpegenc.c: * ext/jpeg/gstsmokedec.c: * ext/jpeg/gstsmokeenc.c: * ext/libcaca/gstcacasink.c: * ext/libmng/gstmngdec.c: * ext/libmng/gstmngenc.c: * ext/libpng/gstpngdec.c: * ext/libpng/gstpngenc.c: * ext/mikmod/gstmikmod.c: * ext/raw1394/gstdv1394src.c: * ext/shout2/gstshout2.c: (gst_shout2send_init): * ext/shout2/gstshout2.h: * ext/speex/gstspeexdec.c: * ext/speex/gstspeexenc.c: * gst/alpha/gstalpha.c: * gst/alpha/gstalphacolor.c: * gst/apetag/gstapedemux.c: * gst/auparse/gstauparse.c: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_base_init): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_base_init): * gst/avi/gstavidemux.c: (gst_avi_demux_base_init): * gst/avi/gstavimux.c: (gst_avimux_base_init): * gst/cutter/gstcutter.c: * gst/debug/breakmydata.c: * gst/debug/efence.c: * gst/debug/gstnavigationtest.c: * gst/debug/gstnavseek.c: * gst/debug/negotiation.c: * gst/debug/progressreport.c: * gst/debug/testplugin.c: * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gstedge.c: * gst/effectv/gstquark.c: * gst/effectv/gstrev.c: * gst/effectv/gstshagadelic.c: * gst/effectv/gstvertigo.c: * gst/effectv/gstwarp.c: * gst/flx/gstflxdec.c: * gst/goom/gstgoom.c: * gst/icydemux/gsticydemux.c: * gst/id3demux/gstid3demux.c: * gst/interleave/deinterleave.c: * gst/interleave/interleave.c: * gst/law/alaw-decode.c: (gst_alawdec_base_init): * gst/law/alaw-encode.c: (gst_alawenc_base_init): * gst/law/mulaw-decode.c: (gst_mulawdec_base_init): * gst/law/mulaw-encode.c: (gst_mulawenc_base_init): * gst/level/gstlevel.c: * gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init): * gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init): * gst/median/gstmedian.c: * gst/monoscope/gstmonoscope.c: * gst/multipart/multipartdemux.c: * gst/multipart/multipartmux.c: * gst/oldcore/gstaggregator.c: * gst/oldcore/gstfdsink.c: * gst/oldcore/gstmd5sink.c: * gst/oldcore/gstmultifilesrc.c: * gst/oldcore/gstpipefilter.c: * gst/oldcore/gstshaper.c: * gst/oldcore/gststatistics.c: * gst/rtp/gstasteriskh263.c: * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpL16pay.c: * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpamrpay.c: * gst/rtp/gstrtpdepay.c: * gst/rtp/gstrtpgsmpay.c: * gst/rtp/gstrtph263pay.c: * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: * gst/rtp/gstrtpilbcdepay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vdepay.c: * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmpadepay.c: * gst/rtp/gstrtpmpapay.c: * gst/rtp/gstrtppcmadepay.c: * gst/rtp/gstrtppcmapay.c: * gst/rtp/gstrtppcmudepay.c: * gst/rtp/gstrtppcmupay.c: * gst/rtp/gstrtpspeexdepay.c: * gst/rtp/gstrtpspeexpay.c: * gst/rtsp/gstrtpdec.c: * gst/rtsp/gstrtspsrc.c: * gst/smpte/gstsmpte.c: * gst/udp/gstdynudpsink.c: * gst/udp/gstmultiudpsink.c: * gst/udp/gstudpsink.c: * gst/udp/gstudpsrc.c: * gst/videobox/gstvideobox.c: * gst/videofilter/gstgamma.c: (gst_gamma_base_init): * gst/videofilter/gstvideobalance.c: * gst/videofilter/gstvideoflip.c: * gst/videofilter/gstvideotemplate.c: (gst_videotemplate_base_init): * gst/videomixer/videomixer.c: * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init), (gst_wavparse_class_init), (gst_wavparse_dispose), (gst_wavparse_reset), (gst_wavparse_init), (gst_wavparse_perform_seek), (gst_wavparse_peek_chunk_info), (gst_wavparse_peek_chunk), (gst_wavparse_stream_headers), (gst_wavparse_parse_stream_init), (gst_wavparse_send_event), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data), (gst_wavparse_chain), (gst_wavparse_srcpad_event), (gst_wavparse_sink_activate), (gst_wavparse_sink_activate_pull), (gst_wavparse_change_state): * gst/wavparse/gstwavparse.h: * sys/oss/gstossmixerelement.c: * sys/oss/gstosssink.c: * sys/oss/gstosssrc.c: * sys/osxaudio/gstosxaudioelement.c: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosrc.c: * sys/sunaudio/gstsunaudiomixer.c: * sys/sunaudio/gstsunaudiosink.c: Define GstElementDetails as const and also static (when defined as global)
* gst/id3demux/id3tags.c: (Fixes #338713)Alex Lancaster2006-04-171-0/+1
| | | | | | | Original commit message from CVS: * gst/id3demux/id3tags.c: Recognise TCO (Genre) tags in ID3v2.2. Patch by Alex Lancaster (Fixes #338713)
* Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)Stefan Kost2006-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/aalib/gstaasink.c: (gst_aasink_class_init): * ext/esd/esdsink.c: (gst_esdsink_class_init): * ext/flac/gstflactag.c: (gst_flac_tag_class_init): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_class_init): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_class_init): * ext/jpeg/gstsmokedec.c: (gst_smokedec_class_init): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init): * ext/libcaca/gstcacasink.c: (gst_cacasink_class_init): * ext/libmng/gstmngdec.c: (gst_mngdec_class_init): * ext/libmng/gstmngenc.c: (gst_mngenc_class_init): * ext/libpng/gstpngdec.c: (gst_pngdec_class_init): * ext/libpng/gstpngenc.c: (gst_pngenc_class_init): * ext/mikmod/gstmikmod.c: (gst_mikmod_class_init): * ext/shout2/gstshout2.c: (gst_shout2send_class_init): * ext/speex/gstspeexenc.c: (gst_speexenc_class_init): * gst/alpha/gstalpha.c: (gst_alpha_class_init): * gst/avi/gstavimux.c: (gst_avimux_class_init): * gst/debug/efence.c: (gst_efence_class_init): * gst/debug/negotiation.c: (gst_negotiation_class_init): * gst/flx/gstflxdec.c: (gst_flxdec_class_init): * gst/goom/gstgoom.c: (gst_goom_class_init): * gst/id3demux/gstid3demux.c: (gst_id3demux_class_init): * gst/interleave/deinterleave.c: (deinterleave_class_init): * gst/interleave/interleave.c: (interleave_class_init): * gst/law/alaw-decode.c: (gst_alawdec_class_init): * gst/law/alaw-encode.c: (gst_alawenc_class_init): * gst/law/mulaw-encode.c: (gst_mulawenc_class_init): * gst/median/gstmedian.c: (gst_median_class_init): * gst/monoscope/gstmonoscope.c: (gst_monoscope_class_init): * gst/multipart/multipartmux.c: (gst_multipart_mux_class_init): * gst/rtp/gstasteriskh263.c: (gst_asteriskh263_class_init): * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16depay_class_init): * gst/rtp/gstrtpL16pay.c: (gst_rtpL16pay_class_init): * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_class_init): * gst/rtp/gstrtpamrpay.c: (gst_rtp_amr_pay_class_init): * gst/rtp/gstrtpdepay.c: (gst_rtp_depay_class_init): * gst/rtp/gstrtpgsmdepay.c: (gst_rtp_gsm_depay_class_init): * gst/rtp/gstrtpgsmpay.c: (gst_rtp_gsm_pay_class_init): * gst/rtp/gstrtph263pay.c: (gst_rtp_h263_pay_class_init): * gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_class_init): * gst/rtp/gstrtph263ppay.c: (gst_rtp_h263p_pay_class_init): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_class_init): * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_class_init): * gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_class_init): * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_class_init): * gst/rtp/gstrtpmpapay.c: (gst_rtp_mpa_pay_class_init): * gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_class_init): * gst/rtp/gstrtppcmapay.c: (gst_rtp_pcma_pay_class_init): * gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_class_init): * gst/rtp/gstrtppcmupay.c: (gst_rtp_pcmu_pay_class_init): * gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_class_init): * gst/rtp/gstrtpspeexpay.c: (gst_rtp_speex_pay_class_init): * gst/rtsp/gstrtpdec.c: (gst_rtpdec_class_init): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init): * gst/smpte/gstsmpte.c: (gst_smpte_class_init): * gst/udp/gstdynudpsink.c: (gst_dynudpsink_class_init): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init): * gst/udp/gstudpsink.c: (gst_udpsink_class_init): * gst/videomixer/videomixer.c: (gst_videomixer_class_init): * gst/wavenc/gstwavenc.c: (gst_wavenc_class_init): * sys/oss/gstossdmabuffer.c: (gst_ossdmabuffer_class_init): * sys/oss/gstosssink.c: (gst_oss_sink_class_init): * sys/osxaudio/gstosxaudioelement.c: (gst_osxaudioelement_class_init): * sys/osxaudio/gstosxaudiosink.c: (gst_osxaudiosink_class_init): * sys/osxaudio/gstosxaudiosrc.c: (gst_osxaudiosrc_class_init): * sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_class_init): Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
* ext\jpeg\smokecodec.c: use of GST_DEBUG instead of DEBUG(a...) for WIN32Sébastien Moutte2006-03-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext\jpeg\smokecodec.c: use of GST_DEBUG instead of DEBUG(a...) for WIN32 * ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps): move first instruction after all variables declarations * gst\alpha\gstalpha.c: * gst\effectv\gstshagadelic.c: * gst\smpte\paint.c: * gst\videofilter\gstvideobalance.c: define M_PI if it's not defined (it's not defined on WIN32) * gst\cutter\gstcutter.c: (gst_cutter_chain): * gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two): * gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip): * gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info), (gst_matroska_demux_video_caps): * gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish): * gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data): use gst_guint64_to_gdouble for conversions * gst\goom\filters.c: (setPixelRGB_): fix a debug which was using undefined variable * gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip): * gst\matroska\ebml-read.c: (gst_ebml_read_sint): replace LL suffix with L suffix (LL isn't supported by MSVC6.0) * win32/vs6: add vs6 projects files for most of plugins-good
* gst/id3demux/gstid3demux.c: Create source pad without leaking.Tim-Philipp Müller2006-03-261-3/+1
| | | | | | Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad): Create source pad without leaking.
* gst/: Don't attempt typefinding on too-short buffers that have been ↵Jan Schmidt2006-03-222-3/+14
| | | | | | | | | | | | completely trimmed away. Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Don't attempt typefinding on too-short buffers that have been completely trimmed away. * gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag): Improve the debug output
* gst/: gcc 4.1 unreferenced pointer fixes.Edward Hervey2006-03-211-2/+5
| | | | | | | | | | Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_reset): * gst/id3demux/gstid3demux.c: (gst_id3demux_reset): * gst/wavparse/gstwavparse.c: (gst_wavparse_create_sourcepad), (gst_wavparse_stream_headers), (gst_wavparse_send_event), (gst_wavparse_change_state): gcc 4.1 unreferenced pointer fixes.
* gst/id3demux/id3v2frames.c: We only care about gain and peak data for the ↵Tim-Philipp Müller2006-03-161-3/+5
| | | | | | | | | master volume. Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_relative_volume_adjustment_two): We only care about gain and peak data for the master volume.
* gst/id3demux/id3v2frames.c: Read replay gain tags (#323721).Tim-Philipp Müller2006-03-161-8/+108
| | | | | | | | Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_id_string), (parse_unique_file_identifier), (parse_relative_volume_adjustment_two), (id3v2_tag_to_taglist): Read replay gain tags (#323721).
* gst/apetag/gsttagdemux.c: Ensure that we set caps on the buffers we pass.Jan Schmidt2006-03-151-4/+9
| | | | | | | | | | | | | Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain): Ensure that we set caps on the buffers we pass. * gst/id3demux/gstid3demux.c: (gst_id3demux_chain), (gst_id3demux_sink_activate): Ensure that we set caps on the buffers we pass. Use STREAM, TYPE_NOT_FOUND as the error class when typefinding fails.
* configure.ac: Bump -base requirement to 0.10.5 for ↵Tim-Philipp Müller2006-03-142-1/+94
| | | | | | | | | | | | | | gst_tag_from_id3_user_tag(), used by id3demux. Original commit message from CVS: * configure.ac: Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(), used by id3demux. * gst/id3demux/gstid3demux.c: (plugin_init): * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_user_text_identification_frame), (parse_unique_file_identifier): Add support for UFID and TXXX frames and extract musicbrainz tags.
* gst/id3demux/: Use new typefind helper functions here as well, and do ↵Tim-Philipp Müller2006-03-042-95/+21
| | | | | | | | | | | typefinding in pull-mode if upstream supports t... Original commit message from CVS: * gst/id3demux/Makefile.am: * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad), (gst_id3demux_chain), (gst_id3demux_sink_activate): Use new typefind helper functions here as well, and do typefinding in pull-mode if upstream supports that.
* gst/id3demux/: Handle 0 data size in otherwise valid frames.Jan Schmidt2006-02-182-3/+7
| | | | | | | | 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
* gst/id3demux/id3tags.c: ID3 2.3.0 used synch-safe integers for the tag size, ↵Jan Schmidt2006-02-161-4/+12
| | | | | | | | | but not for the frame size. (Fixes #331368) Original commit message from CVS: * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list): ID3 2.3.0 used synch-safe integers for the tag size, but not for the frame size. (Fixes #331368)
* gst/id3demux/id3v2frames.c: Add more validation to ensure that a char ↵Jan Schmidt2006-02-131-33/+35
| | | | | | | | | | encoding conversion produced a valid UTF-8 string. 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.
* gst/id3demux/gstid3demux.c: Jon Trowbridge2006-02-111-0/+4
| | | | | | | | Original commit message from CVS: * gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size), (gst_id3demux_do_typefind): Fix a couple of mem leaks. (Patch by Jonathan Matthew <jonathan at kaolin dot wh9 dot net>)
* 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