summaryrefslogtreecommitdiffstats
path: root/gst/id3demux
Commit message (Collapse)AuthorAgeFilesLines
* Generate the image-type values correctly. Leave them out of the caps when ↵Jan Schmidt2008-01-111-8/+15
| | | | | | | | | | | | | | | outputting a "preview image" tag, since it ... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer): * gst/id3demux/id3v2frames.c: (parse_picture_frame): Generate the image-type values correctly. Leave them out of the caps when outputting a "preview image" tag, since it only makes sense to have one of those - the type is irrelevant. * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_open): If we can, mark the mixer multiple open when we use it, in case (for some reason) the process wants to open it again elsewhere.
* gst/id3demux/id3v2frames.c: Make sure the ISO 639-X language code in ID3v2 ↵Tommi Myöhänen2008-01-091-5/+9
| | | | | | | | | | | | | COMM frames so we don't end up with non-UT... Original commit message from CVS: Based on patch by: Tommi Myöhänen <ext-tommi.myohanen nokia com> * gst/id3demux/id3v2frames.c: (parse_comment_frame): Make sure the ISO 639-X language code in ID3v2 COMM frames is actually valid UTF-8 (or rather: ASCII), so we don't end up with non-UTF8 strings in tags if there's garbage in the language field. Also make sure the language code is always lower case. Fixes: #508291.
* gst/id3demux/id3v2frames.c: Parse WOAF frames and put the result into ↵Tim-Philipp Müller2007-12-141-0/+5
| | | | | | | | | | | GST_TAG_CONTACT, which is where it would end up... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_url_link_frame): Parse WOAF frames and put the result into GST_TAG_CONTACT, which is where it would end up if the same information was put in a vorbis comment (don't think it's worth adding a new URI tag for this). Fixes #488112.
* gst/id3demux/: We don't want the same string multiple times in a tag list ↵Tim-Philipp Müller2007-11-143-13/+16
| | | | | | | | | | | | for the same tag ever, for any tag, not jus... Original commit message from CVS: * gst/id3demux/id3tags.c: * gst/id3demux/id3tags.h: * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): We don't want the same string multiple times in a tag list for the same tag ever, for any tag, not just for GST_TAG_GENRE, so make sure this doesn't happen and remove special-case code for GST_TAG_GENRE.
* gst/id3demux/id3v2frames.c: Extract license/copyright URIs from ID3v2 WCOP ↵Jason Kivlighn2007-10-111-0/+57
| | | | | | | | | | | | | | frames (Fixes #447000). Original commit message from CVS: Based on patch by: Jason Kivlighn <jkivlighn gmail com> * gst/id3demux/id3v2frames.c: Extract license/copyright URIs from ID3v2 WCOP frames (Fixes #447000). * tests/check/elements/id3demux.c: * tests/files/Makefile.am: * tests/files/id3-447000-wcop.tag: Add simple unit test.
* gst/id3demux/: Port ID3 tag demuxer over to the new GstTagDemux in -base ↵Tim-Philipp Müller2007-10-065-1171/+123
| | | | | | | | | | | | | | (now would be a good time to test re-importi... Original commit message from CVS: * gst/id3demux/gstid3demux.c: * gst/id3demux/gstid3demux.h: * gst/id3demux/id3tags.c: * gst/id3demux/id3tags.h: * gst/id3demux/id3v2frames.c: Port ID3 tag demuxer over to the new GstTagDemux in -base (now would be a good time to test re-importing your music collection).
* gst/id3demux/gstid3demux.c: Don't return GST_FLOW_ERROR when pushing an ↵Edward Hervey2007-07-101-4/+1
| | | | | | | | | | event returns FALSE. We don't have enough gra... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Don't return GST_FLOW_ERROR when pushing an event returns FALSE. We don't have enough granularity to convert that boolean into a GstFlowReturn.
* gst/id3demux/gstid3demux.c: Don't leak newsegment events.Tim-Philipp Müller2007-05-251-0/+1
| | | | | | Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_sink_event): Don't leak newsegment events.
* gst/: Handle and adjust new-segment events so that downstream really sees a ↵Jan Schmidt2007-05-252-0/+124
| | | | | | | | | | | | | | | | | | stream with the tag pieces stripped off t... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_reset), (gst_id3demux_send_new_segment), (gst_id3demux_chain), (gst_id3demux_sink_event): * gst/id3demux/gstid3demux.h: * gst/apetag/gsttagdemux.c: (gst_tag_demux_reset), (gst_tag_demux_chain), (gst_tag_demux_sink_event), (gst_tag_demux_send_new_segment): Handle and adjust new-segment events so that downstream really sees a stream with the tag pieces stripped off the front and back. Fixes strangeness in seeking when mp3 decoders use the new-segment byte position to estimate their current playback position timestamp and then the arriving buffers don't match up.
* gst/id3demux/gstid3demux.c: Fix handling of -1 values for start and stop ↵Jan Schmidt2007-03-121-3/+14
| | | | | | | | | values when seeking, and SEEK_CUR+SEEK_END. Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_srcpad_event): Fix handling of -1 values for start and stop values when seeking, and SEEK_CUR+SEEK_END.
* gst/id3demux/id3v2frames.c: Fix parsing of ID3 v2.2.0 PIC frames. Only in ↵Tim-Philipp Müller2007-03-121-7/+32
| | | | | | | | | | | | version >= 2.3.0 is the image format a vari... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_picture_frame): Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is the image format a variable-length NUL-terminated string; in versions before that the image format is a fixed-length string of 3 characters (see #348644 for a sample tag). Also make supplied mime type lower-case and fix up 'jpg' to 'jpeg'.
* gst/id3demux/gstid3demux.c: Don't leak caps: make gst_id3demux_add_srcpad() ↵Tim-Philipp Müller2007-03-061-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | not take ownership of the caps passed to ... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad), (gst_id3demux_sink_activate): Don't leak caps: make gst_id3demux_add_srcpad() not take ownership of the caps passed to it (previouslly one code path assumes it takes ownership while another one assumes it doesn't). * configure.ac: * tests/files/Makefile.am: * tests/files/id3-407349-1.tag: * tests/files/id3-407349-2.tag: Add directory where data for unit tests can be stored. * tests/Makefile.am: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/id3demux.c: (pad_added_cb), (error_cb), (read_tags_from_file), (run_check_for_file), (check_date_1977_06_23), (GST_START_TEST), (id3demux_suite): Add unit test for id3demux, and in particular for bug #407349. Only testing pull-mode for now; push mode doesn't work yet because the test files are smaller than ID3_TYPE_FIND_MIN_SIZE.
* gst/id3demux/: Do not convert obsolete TDA/TDAT frames to TDRC frames, ↵Tim-Philipp Müller2007-03-063-6/+44
| | | | | | | | | | | | | | | otherwise the four-digit number will be interp... Original commit message from CVS: * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list): * gst/id3demux/id3tags.h: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_obsolete_tdat_frame): Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise the four-digit number will be interpreted as a year, whereas it is month and day in DDMM format. Instead, parse TDAT frames and fix up the date in the GST_TAG_DATE tag later if we also extracted a year. Fixes #407349.
* gst/: Set correct caps on outgoing pulled buffers, or things blow up after ↵Tim-Philipp Müller2007-01-111-0/+2
| | | | | | | | | | recent core changes. Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_read_range): * gst/id3demux/gstid3demux.c: (gst_id3demux_read_range): Set correct caps on outgoing pulled buffers, or things blow up after recent core changes.
* gst/: In streaming mode, if the first buffer we get doesn't have an offset, ↵Tim-Philipp Müller2006-12-121-1/+14
| | | | | | | | | | | | | | fix it up to be 0, otherwise trimming won... Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag), (gst_tag_demux_chain): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): In streaming mode, if the first buffer we get doesn't have an offset, fix it up to be 0, otherwise trimming won't work later on and we'll be typefinding application/x-id3, which may result in decodebin plugging an endless number of id3demux elements as a consequence. Fixes #385031.
* gst/id3demux/id3v2frames.c: Make sure that g_free always gets called on the ↵René Stadler2006-11-191-7/+16
| | | | | | | | | | | | same pointer that was returned by g_mallo... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame): Make sure that g_free always gets called on the same pointer that was returned by g_malloc. Fixes #376594. Do not leak memory if decompressed size is wrong. Remove unneeded check of return value of g_malloc. Patch by: René Stadler <mail@renestadler.de>
* gst/id3demux/id3v2frames.c: We require a -base more recent than 0.10.9, so ↵Tim-Philipp Müller2006-11-011-3/+0
| | | | | | | | | | | | | | | it's safe to use Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_picture_frame): We require a -base more recent than 0.10.9, so it's safe to use GST_TYPE_TAG_IMAGE_TYPE unconditionally now. * ext/dv/gstdvdec.c: (gst_dvdec_sink_event): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_sink_event): Use _newsegment_full() now that we depend on a recent enough core. * gst/wavparse/gstwavparse.c: Remove cruft that we don't need any longer now that we depend on a recent enough -base.
* gst/: Activate pad before adding it to the already-running element.Tim-Philipp Müller2006-10-111-0/+1
| | | | | | | | | | Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_add_srcpad): * gst/icydemux/gsticydemux.c: (gst_icydemux_add_srcpad): * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad): Activate pad before adding it to the already-running element. * tests/check/elements/icydemux.c: (icydemux_found_pad): Activate newly-created pad too.
* Printf format fixes.Tim-Philipp Müller2006-10-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_update_font_height): * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_transform_caps): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_parse_image_data): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain): * ext/jpeg/gstsmokedec.c: (gst_smokedec_chain): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_chain): * ext/libpng/gstpngdec.c: (user_endrow_callback): * gst/auparse/gstauparse.c: (gst_au_parse_parse_header): * gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_data): * gst/cutter/gstcutter.c: (gst_cutter_chain): * gst/debug/efence.c: (gst_efence_buffer_alloc), (gst_fenced_buffer_copy): * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame): * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream): * gst/matroska/matroska-mux.c: (gst_matroska_mux_start): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_handle_message): * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): * sys/ximage/ximageutil.c: (ximageutil_xcontext_get): Printf format fixes.
* gst/: Don't interpret a first buffer with an offset of NONE as 'from the ↵Tim-Philipp Müller2006-09-141-2/+4
| | | | | | | | | | | middle of the stream', but only a first buff... Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Don't interpret a first buffer with an offset of NONE as 'from the middle of the stream', but only a first buffer that has a valid buffer offset that's non-zero (see #345449).
* gst/id3demux/id3v2frames.c: If strings in text fields are marked ISO8859-1, ↵Jan Schmidt2006-08-221-6/+9
| | | | | | | | | | | but contain valid UTF-8 already, then han... Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_text_identification_frame), (parse_insert_string_field): If strings in text fields are marked ISO8859-1, but contain valid UTF-8 already, then handle them as UTF-8 and ignore the encoding. (#351794)
* configure.ac: Require CVS of GStreamer core and -base (forTim-Philipp Müller2006-08-161-12/+30
| | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: Require CVS of GStreamer core and -base (for GST_TAG_EXTENDED_COMMENT and gst_tag_parse_extended_comment()). * ext/taglib/gstid3v2mux.cc: Write extended comment tags properly (#348762). * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_comment_frame): Extract COMM frames into extended comments, which makes it easier to properly retain the description bit of the tag and maintain this information when re-tagging (#348762).
* gst/id3demux/id3tags.c: Extract frames for ID3v2 versions prior to ID3v2.3.0 ↵Tim-Philipp Müller2006-07-251-4/+20
| | | | | | | | | | | properly as well, and add the version to... Original commit message from CVS: * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist): Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as well, and add the version to the blob's buffer caps, since that information will be needed for deserialisation later on (#348644).
* gst/id3demux/: On second thought, it might be wiser and more efficient not ↵Tim-Philipp Müller2006-07-233-7/+8
| | | | | | | | | | | | to do tag registration from a streaming th... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (plugin_init): * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist): * gst/id3demux/id3tags.h: On second thought, it might be wiser and more efficient not to do tag registration from a streaming thread.
* gst/id3demux/id3tags.c: Put ID3v2 frames we can't parse as binary blobs into ↵Tim-Philipp Müller2006-07-231-4/+42
| | | | | | | | | | | | | private tags, so that they are not lost ... Original commit message from CVS: * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist), (id3demux_id3v2_frames_to_tag_list): Put ID3v2 frames we can't parse as binary blobs into private tags, so that they are not lost when retagging, at least once id3v2mux has been taught to re-inject those frames again. See bug #334375.
* gst/avi/gstavidemux.c: Fix some leaks.Wim Taymans2006-07-211-1/+1
| | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry): Fix some leaks. * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list): Don't use \n in debug lines.
* gst/: Don't return FLOW_UNEXPECTED when a buffer is before the start of the ↵Tim-Philipp Müller2006-07-051-6/+22
| | | | | | | | | | | | | | | stream (which might happen with large ID3... Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_trim_buffer), (gst_tag_demux_read_range): * gst/id3demux/gstid3demux.c: (gst_id3demux_trim_buffer), (gst_id3demux_read_range): Don't return FLOW_UNEXPECTED when a buffer is before the start of the stream (which might happen with large ID3v2 tags if the tag reading was done pullrange based and we then switched to push mode later on). Fixes regression introduced by commit from June 29th.
* gst/: Return FLOW_UNEXPECTED when at the end of the file, notTim-Philipp Müller2006-07-031-2/+2
| | | | | | | | | | Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Return FLOW_UNEXPECTED when at the end of the file, not FLOW_ERROR. Fixes 'internal stream error' errors that would sometimes occur in totem when scrubbing to the end of an ID3v1 tagged mp3 file.
* gst/id3demux/gstid3demux.c: Make sure we don't return GST_FLOW_OK with a ↵Tim-Philipp Müller2006-06-291-10/+16
| | | | | | | | | | | | | | NULL buffer in certain cases where a read be... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_trim_buffer), (gst_id3demux_read_range): Make sure we don't return GST_FLOW_OK with a NULL buffer in certain cases where a read beyond the end of the file is requested. Fixes #345930. * gst/apetag/gsttagdemux.c: (gst_tag_demux_trim_buffer), (gst_tag_demux_read_range): Fix same issue here as well.
* gst/id3demux/id3v2frames.c: Set image type from APIC frame as "image-type" ↵Tim-Philipp Müller2006-06-221-3/+9
| | | | | | | | | field of GST_TAG_IMAGE buffer caps (#344605). Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_picture_frame): Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).
* gst/id3demux/id3v2frames.c: Extract images from ID3v2 tags (APIC frames). ↵Tim-Philipp Müller2006-06-111-1/+169
| | | | | | | | | | | | Fixes #339704. Original commit message from CVS: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (scan_encoded_string), (parse_picture_frame): Extract images from ID3v2 tags (APIC frames). Fixes #339704. * configure.ac: Require core >= 0.10.8 (for GST_TAG_IMAGE and GST_TAG_PPEVIEW_IMAGE used in the patch above).
* gst/: Use gst_pad_query_peer_duration() utility function here.Tim-Philipp Müller2006-06-111-21/+5
| | | | | | | Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size): * gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size): Use gst_pad_query_peer_duration() utility function here.
* Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClassStefan Kost2006-06-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/aalib/gstaasink.h: * ext/annodex/gstcmmldec.h: * ext/cairo/gsttimeoverlay.h: * ext/dv/gstdvdec.h: * ext/dv/gstdvdemux.h: * ext/esd/esdmon.h: * ext/esd/esdsink.h: * ext/flac/gstflacenc.h: * ext/gconf/gstgconfaudiosink.h: * ext/gconf/gstgconfaudiosrc.h: * ext/gconf/gstgconfvideosink.h: * ext/gconf/gstgconfvideosrc.h: * ext/gdk_pixbuf/gstgdkanimation.h: * ext/gdk_pixbuf/pixbufscale.h: * ext/hal/gsthalaudiosink.h: * ext/hal/gsthalaudiosrc.h: * ext/jpeg/gstjpegenc.h: * ext/jpeg/gstsmokedec.h: * ext/jpeg/gstsmokeenc.h: * ext/libcaca/gstcacasink.h: * ext/libmng/gstmngdec.h: * ext/libmng/gstmngenc.h: * ext/libpng/gstpngdec.h: * ext/libpng/gstpngenc.h: * ext/raw1394/gstdv1394src.h: * ext/speex/gstspeexenc.h: * gst/autodetect/gstautoaudiosink.h: * gst/autodetect/gstautovideosink.h: * gst/avi/gstavidemux.h: * gst/cutter/gstcutter.h: * gst/debug/efence.h: * gst/debug/gstnavigationtest.h: * gst/debug/gstnavseek.h: * gst/flx/gstflxdec.h: * gst/goom/gstgoom.h: * gst/icydemux/gsticydemux.h: * gst/id3demux/gstid3demux.h: * gst/law/alaw-decode.h: * gst/law/alaw-encode.h: * gst/law/mulaw-decode.h: * gst/law/mulaw-encode.h: * gst/matroska/matroska-mux.h: * gst/median/gstmedian.h: * gst/oldcore/gstaggregator.h: * gst/oldcore/gstfdsink.h: * gst/oldcore/gstmd5sink.h: * gst/oldcore/gstmultifilesrc.h: * gst/oldcore/gstpipefilter.h: * gst/oldcore/gstshaper.h: * gst/oldcore/gststatistics.h: * gst/rtp/gstasteriskh263.h: * gst/rtp/gstrtpL16depay.h: * gst/rtp/gstrtpL16pay.h: * gst/rtp/gstrtpamrdepay.h: * gst/rtp/gstrtpamrpay.h: * gst/rtp/gstrtpdepay.h: * gst/rtp/gstrtpgsmdepay.h: * gst/rtp/gstrtpgsmpay.h: * gst/rtp/gstrtph263pay.h: * gst/rtp/gstrtph263pdepay.h: * gst/rtp/gstrtph263ppay.h: * gst/rtp/gstrtpmp4gpay.h: * gst/rtp/gstrtpmp4vdepay.h: * gst/rtp/gstrtpmp4vpay.h: * gst/rtp/gstrtpmpadepay.h: * gst/rtp/gstrtpmpapay.h: * gst/rtp/gstrtppcmadepay.h: * gst/rtp/gstrtppcmapay.h: * gst/rtp/gstrtppcmudepay.h: * gst/rtp/gstrtppcmupay.h: * gst/rtp/gstrtpspeexdepay.h: * gst/rtp/gstrtpspeexpay.h: * gst/rtsp/gstrtpdec.h: * gst/rtsp/gstrtspsrc.h: * gst/smpte/gstsmpte.h: * gst/udp/gstdynudpsink.h: * gst/udp/gstmultiudpsink.h: * gst/udp/gstudpsink.h: * gst/udp/gstudpsrc.h: * gst/videofilter/gstvideobalance.h: * gst/videofilter/gstvideoflip.h: * sys/oss/gstossdmabuffer.h: * sys/oss/gstossmixerelement.h: * sys/oss/gstosssink.h: * sys/oss/gstosssrc.h: * sys/osxvideo/osxvideosink.h: * sys/sunaudio/gstsunaudiomixer.h: * sys/sunaudio/gstsunaudiosink.h: * sys/ximage/gstximagesrc.h: Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
* 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).