Commit graph

79 commits

Author SHA1 Message Date
Tim-Philipp Müller
b0bcb27517 id3demux: add ID3 v2.3 spec as well 2009-08-07 16:51:45 +01:00
Tim-Philipp Müller
0417283077 id3demux: sizes in ID3 v2.3 are unlikely to be sync-safe integers
In ID3 v2.3 compressed frames will have a 4-byte data length indicator
after the frame header to indicate the size of the decompressed data.
This integer is unlikely to be a sync-safe integer for v2.3 tags,
only in v2.4 it's sync-safe.
2009-08-07 16:42:39 +01:00
Tim-Philipp Müller
3ec0a31d64 id3demux: fix typo in debug message 2009-08-07 16:36:55 +01:00
Tim-Philipp Müller
2e05af3876 id3demux: fix parsing of unsync'ed ID3 v2.4 tags and frames
Reversing the unsynchronisation seems to work slightly differently
for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame
sizes in the frame header, so the unsynchronisation is applied to
the whole frame data including all the frame headers. v2.4 frames
have sync-safe sizes, however, so the unsynchronisation only needs
to be applied to the actual frame data, and it seems that's what's
being done as well. So we need to undo the unsynchronisation on a
per-frame basis for v2.4 tags for things to work properly.

Fixes extraction of coverart/images from APIC frames in ID3 v2.4
tags (#588148).

Add unit test for this as well.
2009-08-07 16:02:23 +01:00
Tim-Philipp Müller
98fa27dcd1 id3demux: add container-format tag
Using pbutils here because the string is translated.
2009-06-22 10:49:02 +01:00
Tim-Philipp Müller
a85d7b7059 id3demux: parse unsynchronised tags properly
We didn't handle unsynchronization at all up to now, which might have
caused frames to not be extracted - esp. frames after an APIC picture
frame. Fixes #577468.
2009-04-24 01:58:23 +01:00
Tim-Philipp Müller
19117a39fe id3demux: pass the right size value for size of all frames to the parser
Frame data size is tag size adjusted for size of the tag header and
footer, not tag size including header and footer.
2009-04-24 01:05:40 +01:00
Stefan Kost
a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Stefan Kost
084812bffd Don't install static libs for plugins. Fixes #550851 for -good.
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2008-11-04 12:28:34 +00:00
Tim-Philipp Müller
21c48f1a1d Use new utility functions in libgsttag to process coverart (#512333).
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer):
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
Use new utility functions in libgsttag to process coverart (#512333).
2008-06-04 10:42:46 +00:00
Jan Schmidt
c2dddd0201 Generate the image-type values correctly. Leave them out of the caps when 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.
2008-01-11 21:08:59 +00:00
Tommi Myöhänen
231127100f gst/id3demux/id3v2frames.c: Make sure the ISO 639-X language code in ID3v2 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.
2008-01-09 15:20:19 +00:00
Tim-Philipp Müller
7951e1cceb gst/id3demux/id3v2frames.c: Parse WOAF frames and put the result into 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.
2007-12-14 10:17:10 +00:00
Tim-Philipp Müller
62d8456eb7 gst/id3demux/: We don't want the same string multiple times in a tag list 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.
2007-11-14 21:39:47 +00:00
Jason Kivlighn
4faf179db8 gst/id3demux/id3v2frames.c: Extract license/copyright URIs from ID3v2 WCOP 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.
2007-10-11 17:55:29 +00:00
Tim-Philipp Müller
3e413d6b6e gst/id3demux/: Port ID3 tag demuxer over to the new GstTagDemux in -base (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).
2007-10-06 16:13:14 +00:00
Edward Hervey
4844ca4e25 gst/id3demux/gstid3demux.c: Don't return GST_FLOW_ERROR when pushing an 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.
2007-07-10 10:16:38 +00:00
Tim-Philipp Müller
da0da24565 gst/id3demux/gstid3demux.c: Don't leak newsegment events.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_sink_event):
Don't leak newsegment events.
2007-05-25 20:51:36 +00:00
Jan Schmidt
4a7ecfb814 gst/: Handle and adjust new-segment events so that downstream really sees a 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.
2007-05-25 10:44:12 +00:00
Jan Schmidt
56fbcb6766 gst/id3demux/gstid3demux.c: Fix handling of -1 values for start and stop 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.
2007-03-12 17:24:23 +00:00
Tim-Philipp Müller
2354b65a9e gst/id3demux/id3v2frames.c: Fix parsing of ID3 v2.2.0 PIC frames. Only in 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'.
2007-03-12 13:28:29 +00:00
Tim-Philipp Müller
009c9750ea gst/id3demux/gstid3demux.c: Don't leak caps: make gst_id3demux_add_srcpad() 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.
2007-03-06 23:19:30 +00:00
Tim-Philipp Müller
8ffc1761b3 gst/id3demux/: Do not convert obsolete TDA/TDAT frames to TDRC frames, 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.
2007-03-06 18:16:49 +00:00
Tim-Philipp Müller
1e364d04f5 gst/: Set correct caps on outgoing pulled buffers, or things blow up after 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.
2007-01-11 16:59:40 +00:00
Tim-Philipp Müller
173ee367e4 gst/: In streaming mode, if the first buffer we get doesn't have an offset, 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.
2006-12-12 18:45:58 +00:00
René Stadler
3b4c2b054a gst/id3demux/id3v2frames.c: Make sure that g_free always gets called on the 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>
2006-11-19 13:41:53 +00:00
Tim-Philipp Müller
93c5c6fcba gst/id3demux/id3v2frames.c: We require a -base more recent than 0.10.9, so 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.
2006-11-01 13:59:49 +00:00
Tim-Philipp Müller
a91177414c gst/: Activate pad before adding it to the already-running element.
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.
2006-10-11 13:24:42 +00:00
Tim-Philipp Müller
82f5a3508c Printf format fixes.
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.
2006-10-05 16:37:33 +00:00
Tim-Philipp Müller
dcba7c77ef gst/: Don't interpret a first buffer with an offset of NONE as 'from the 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).
2006-09-14 11:05:35 +00:00
Jan Schmidt
66bbbfb769 gst/id3demux/id3v2frames.c: If strings in text fields are marked ISO8859-1, 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)
2006-08-22 13:53:34 +00:00
Tim-Philipp Müller
81d46b8277 configure.ac: Require CVS of GStreamer core and -base (for
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).
2006-08-16 13:01:32 +00:00
Tim-Philipp Müller
e23a7eec68 gst/id3demux/id3tags.c: Extract frames for ID3v2 versions prior to ID3v2.3.0 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).
2006-07-25 16:47:04 +00:00
Tim-Philipp Müller
87b522209f gst/id3demux/: On second thought, it might be wiser and more efficient not 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.
2006-07-23 11:33:54 +00:00
Tim-Philipp Müller
92e494c3b1 gst/id3demux/id3tags.c: Put ID3v2 frames we can't parse as binary blobs into 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.
2006-07-23 10:56:27 +00:00
Wim Taymans
c9b86e0a98 gst/avi/gstavidemux.c: Fix some leaks.
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.
2006-07-21 10:57:00 +00:00
Tim-Philipp Müller
a516e84194 gst/: Don't return FLOW_UNEXPECTED when a buffer is before the start of the 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.
2006-07-05 14:52:13 +00:00
Tim-Philipp Müller
52f6cd9c1f gst/: Return FLOW_UNEXPECTED when at the end of the file, not
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.
2006-07-03 16:43:10 +00:00
Tim-Philipp Müller
5aa89bdd33 gst/id3demux/gstid3demux.c: Make sure we don't return GST_FLOW_OK with a 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.
2006-06-29 11:11:50 +00:00
Tim-Philipp Müller
a6af52cc25 gst/id3demux/id3v2frames.c: Set image type from APIC frame as "image-type" 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).
2006-06-22 12:17:13 +00:00
Tim-Philipp Müller
8acd6050ef gst/id3demux/id3v2frames.c: Extract images from ID3v2 tags (APIC frames). 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).
2006-06-11 19:31:10 +00:00
Tim-Philipp Müller
1a79337544 gst/: Use gst_pad_query_peer_duration() utility function here.
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.
2006-06-11 18:20:39 +00:00
Stefan Kost
1def669c0e Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
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
2006-06-01 21:07:26 +00:00
Tim-Philipp Müller
e4bb4b892f gst/id3demux/id3v2frames.c: A track/volume number or count of 0 does not 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).
2006-05-28 10:05:47 +00:00
Jan Schmidt
a4dbbd5d2a gst/id3demux/id3v2frames.c: Don't output any tag when we encounter a 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)
2006-05-19 14:05:53 +00:00
Jan Schmidt
6ac3f840db gst/autodetect/: Make the name of the child element be based on the name of 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
2006-05-16 14:07:29 +00:00
Tim-Philipp Müller
d0a4d90b50 gst/id3demux/id3v2frames.c: Some more debug info. No need to check whether 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.
2006-05-12 08:21:37 +00:00
Jan Schmidt
85c6182ef4 gst/id3demux/id3v2frames.c: Fix parsing of numeric genre strings some more, 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
2006-05-10 13:51:01 +00:00
Tim-Philipp Müller
2b4ba77c27 gst/id3demux/gstid3demux.c: Let core insert default error message for 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.
2006-05-02 15:46:02 +00:00
Tim-Philipp Müller
5c1e2a1e44 gst/: Post an error message when we get an EOS event and were not able to 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.
2006-05-02 15:40:15 +00:00