platform/upstream/gst-plugins-base.git
13 years agofourcc: remove fourcc
Wim Taymans [Mon, 22 Aug 2011 10:22:02 +0000 (12:22 +0200)]
fourcc: remove fourcc

Remove fourcc in caps.
Fix pbutils descriptions.
Add more video macros
Fix some unit test

13 years agooggmux: fix compilation
Wim Taymans [Mon, 22 Aug 2011 10:21:08 +0000 (12:21 +0200)]
oggmux: fix compilation

13 years agoaudio: rename INT -> INTEGER
Wim Taymans [Sat, 20 Aug 2011 08:49:17 +0000 (10:49 +0200)]
audio: rename INT -> INTEGER

Spell INTEGER fully instead of using the int abreviation.
Remove some old functions.

13 years agomore audio caps porting
Wim Taymans [Fri, 19 Aug 2011 15:41:22 +0000 (17:41 +0200)]
more audio caps porting

13 years agoadder: port to new caps
Wim Taymans [Fri, 19 Aug 2011 15:05:55 +0000 (17:05 +0200)]
adder: port to new caps

13 years agoseek: fix playbin2 setup
Wim Taymans [Fri, 19 Aug 2011 15:05:42 +0000 (17:05 +0200)]
seek: fix playbin2 setup

13 years agovisual: port some more to new audio caps
Wim Taymans [Fri, 19 Aug 2011 14:49:30 +0000 (16:49 +0200)]
visual: port some more to new audio caps

13 years agoriff: port to new audio caps
Wim Taymans [Fri, 19 Aug 2011 14:01:08 +0000 (16:01 +0200)]
riff: port to new audio caps

13 years agoaudio: add function to build audio format
Wim Taymans [Fri, 19 Aug 2011 14:00:33 +0000 (16:00 +0200)]
audio: add function to build audio format

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Fri, 19 Aug 2011 12:07:11 +0000 (14:07 +0200)]
Merge branch 'master' into 0.11

13 years agoaudio: add more macros
Wim Taymans [Fri, 19 Aug 2011 09:55:15 +0000 (11:55 +0200)]
audio: add more macros

13 years agoaudiofilter: Pass a const pointer to the audio format info to ::setup()
Sebastian Dröge [Fri, 19 Aug 2011 08:06:39 +0000 (10:06 +0200)]
audiofilter: Pass a const pointer to the audio format info to ::setup()

It is not meant to be changed by the subclass.

13 years agoogg: do not use 32 bit modifiers to print serial numbers
Vincent Penquerc'h [Thu, 18 Aug 2011 15:20:57 +0000 (16:20 +0100)]
ogg: do not use 32 bit modifiers to print serial numbers

If ints are 64 bits, 32 bits should get promoted in varargs anyway,
and we don't care about 16 bit ints.
This makes the code a lot more readable, and still gets us nice
hexadecimal 32 bit serialnos.

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Thu, 18 Aug 2011 17:36:50 +0000 (19:36 +0200)]
Merge branch 'master' into 0.11

Conflicts:
ext/ogg/gstoggmux.c
gst/playback/gstplaysink.c

13 years agoaudio: rework audio caps.
Wim Taymans [Thu, 18 Aug 2011 17:15:03 +0000 (19:15 +0200)]
audio: rework audio caps.

Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.

13 years agoplaysink: Reconfigure when pads are added later
Edward Hervey [Wed, 27 Jul 2011 11:05:31 +0000 (11:05 +0000)]
playsink: Reconfigure when pads are added later

Instead of just assuming all pads are created at the same time,
remember which ones are actually new (via ->pending_blocked_pads).

This allows the following use-case to properly work:
* Upstream starts with audio-only
* Only that pad gets data, blocks and a real audio sink is created
* Upstream laters adds a video stream
* A new pad is requested, blocks and reconfiguration kicks in in
  order to add a new real video sink

13 years agoogg: get the operator precedence right, even if only a doc
Vincent Penquerc'h [Thu, 18 Aug 2011 08:37:38 +0000 (09:37 +0100)]
ogg: get the operator precedence right, even if only a doc

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agooggstream: vorbis has a preroll of 2
Vincent Penquerc'h [Thu, 18 Aug 2011 08:30:46 +0000 (09:30 +0100)]
oggstream: vorbis has a preroll of 2

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agooggstream: new convenience function to get a stream's media type
Vincent Penquerc'h [Wed, 17 Aug 2011 18:40:08 +0000 (19:40 +0100)]
oggstream: new convenience function to get a stream's media type

This will make logging a lot clearer, both in code and in output.

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agoogg: move the "always flush page" to oggstream
Vincent Penquerc'h [Wed, 17 Aug 2011 17:48:54 +0000 (18:48 +0100)]
ogg: move the "always flush page" to oggstream

It avoids checking for specific media types in the muxer.

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agooggmux: use oggstream to decide which BOS packets to place first
Vincent Penquerc'h [Wed, 17 Aug 2011 17:38:39 +0000 (18:38 +0100)]
oggmux: use oggstream to decide which BOS packets to place first

Ogg recommends video BOS packets to be first.
Use the "is_video" flag in oggstream to select those, rather than
check for known mime types.

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agoogg: rationalize serialno type to guint32
Vincent Penquerc'h [Wed, 17 Aug 2011 17:03:16 +0000 (18:03 +0100)]
ogg: rationalize serialno type to guint32

It is a 32 bit unsigned number.
Sure, the libogg API uses a long, but that's an unfortunate oversight.

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agooggmux: factor the header packet creation code
Vincent Penquerc'h [Wed, 17 Aug 2011 16:39:18 +0000 (17:39 +0100)]
oggmux: factor the header packet creation code

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agooggmux: headers should always have granpos 0
Vincent Penquerc'h [Wed, 17 Aug 2011 16:18:47 +0000 (17:18 +0100)]
oggmux: headers should always have granpos 0

https://bugzilla.gnome.org/show_bug.cgi?id=656775

13 years agoaudioresample: fix build without orc
Vincent Penquerc'h [Thu, 18 Aug 2011 08:48:16 +0000 (09:48 +0100)]
audioresample: fix build without orc

https://bugzilla.gnome.org/show_bug.cgi?id=656781

13 years agobaseaudiosrc: chain up to parent in fixate
Wim Taymans [Wed, 17 Aug 2011 15:24:35 +0000 (17:24 +0200)]
baseaudiosrc: chain up to parent in fixate

13 years agoaudiotestsrc: properly override fixate
Wim Taymans [Wed, 17 Aug 2011 15:22:03 +0000 (17:22 +0200)]
audiotestsrc: properly override fixate

13 years agovideotestsrc: properly override the fixate function
Wim Taymans [Wed, 17 Aug 2011 15:18:20 +0000 (17:18 +0200)]
videotestsrc: properly override the fixate function

13 years agovideo: add some more macros
Wim Taymans [Wed, 17 Aug 2011 15:18:02 +0000 (17:18 +0200)]
video: add some more macros

13 years agotagdemux: port to 0.11
Wim Taymans [Wed, 17 Aug 2011 08:57:52 +0000 (10:57 +0200)]
tagdemux: port to 0.11

13 years agoxvimagesink: fix compiler warning
Wim Taymans [Wed, 17 Aug 2011 08:57:13 +0000 (10:57 +0200)]
xvimagesink: fix compiler warning

13 years agoaudioresample: fix after merge
Wim Taymans [Wed, 17 Aug 2011 08:47:38 +0000 (10:47 +0200)]
audioresample: fix after merge

13 years agoadder: fix after merge
Wim Taymans [Wed, 17 Aug 2011 08:47:20 +0000 (10:47 +0200)]
adder: fix after merge

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Tue, 16 Aug 2011 16:01:14 +0000 (18:01 +0200)]
Merge branch 'master' into 0.11

Conflicts:
configure.ac
ext/pango/gsttextoverlay.c
ext/theora/gsttheoradec.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/audioresample/gstaudioresample.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin.c
gst/playback/gstdecodebin2.c
tests/check/elements/decodebin2.c
tests/check/elements/playbin-compressed.c
win32/common/libgsttag.def

13 years agoaudio: remove deprecated methods
Wim Taymans [Tue, 16 Aug 2011 14:51:30 +0000 (16:51 +0200)]
audio: remove deprecated methods

13 years agotag: id3: avoid some more relocations in genre table
Tim-Philipp Müller [Mon, 15 Aug 2011 00:22:02 +0000 (01:22 +0100)]
tag: id3: avoid some more relocations in genre table

13 years agoaudioresample: add FFT based checks
Vincent Penquerc'h [Fri, 12 Aug 2011 11:07:32 +0000 (12:07 +0100)]
audioresample: add FFT based checks

Send a few simple tones through audioresample and check
that the main frequency spot is the same for the input and
the resampled output.

https://bugzilla.gnome.org/show_bug.cgi?id=656392

13 years agortspconnection: add OSX specific hack to detect when a connection is refused
Alessandro Decina [Mon, 15 Aug 2011 21:41:24 +0000 (23:41 +0200)]
rtspconnection: add OSX specific hack to detect when a connection is refused

Unlike linux, OSX wakes up select with POLLOUT (instead of POLLERR) when
connect() is done async and the connection is refused. Therefore always check
for the socket error state using getsockopt (..., SO_ERROR, ...) after a
connection attempt.

13 years agoxvimage: avoid caps intersection
Wim Taymans [Mon, 15 Aug 2011 16:39:09 +0000 (18:39 +0200)]
xvimage: avoid caps intersection

Store the video format in the XvImage format list so that we can quickly map
between the two.

13 years agogststreamsynchronizer: don't abuse PREROLL flag
Wim Taymans [Mon, 15 Aug 2011 16:38:04 +0000 (18:38 +0200)]
gststreamsynchronizer: don't abuse PREROLL flag

the preroll flag is not implemented and will disappear soon.

13 years agofix for _negotiated_caps() change
Wim Taymans [Mon, 15 Aug 2011 10:18:15 +0000 (12:18 +0200)]
fix for _negotiated_caps() change

13 years agodocs: add new license API to docs
Tim-Philipp Müller [Sun, 14 Aug 2011 23:17:14 +0000 (00:17 +0100)]
docs: add new license API to docs

13 years agoconfigure: try pkg-config first when looking for zlib
Tim-Philipp Müller [Sun, 14 Aug 2011 23:03:39 +0000 (00:03 +0100)]
configure: try pkg-config first when looking for zlib

13 years agotag: id3v2: add specs to git for reference
Tim-Philipp Müller [Sun, 14 Aug 2011 19:44:19 +0000 (20:44 +0100)]
tag: id3v2: add specs to git for reference

13 years agotag: id3v2: avoid some relocations, make table static
Tim-Philipp Müller [Sun, 14 Aug 2011 12:32:12 +0000 (13:32 +0100)]
tag: id3v2: avoid some relocations, make table static

13 years agotag: id3v2: add debug category for ID3 tag parsing
Tim-Philipp Müller [Sun, 14 Aug 2011 00:47:41 +0000 (01:47 +0100)]
tag: id3v2: add debug category for ID3 tag parsing

13 years agotag: id3v2: add id3v2 tag parsing helpers
Mark Nauwelaerts [Mon, 18 Jul 2011 16:09:53 +0000 (18:09 +0200)]
tag: id3v2: add id3v2 tag parsing helpers

https://bugzilla.gnome.org/show_bug.cgi?id=654388

13 years agotag: id3v2: return ID3TAGS_BROKEN_TAG for unsupported versions
Stefan Kost [Tue, 22 Feb 2011 13:19:00 +0000 (15:19 +0200)]
tag: id3v2: return ID3TAGS_BROKEN_TAG for unsupported versions

This prevents us for trying to work with a NULL taglist.

13 years agotag: id3v2: fix parsing of ID3v2.4 genre frames with multiple genres
Erich Schubert [Sun, 2 Jan 2011 19:23:51 +0000 (19:23 +0000)]
tag: id3v2: fix parsing of ID3v2.4 genre frames with multiple genres

We'd only extract the first genre (multiple times) instead of all
genres.

https://bugzilla.gnome.org/show_bug.cgi?id=638535

13 years agotag: id3v2: Sanitize id3 frame names
Edward Hervey [Fri, 24 Sep 2010 13:19:15 +0000 (15:19 +0200)]
tag: id3v2: Sanitize id3 frame names

This is similar to what is done in qtdemux. Avoids providing invalid
structure/tags names

13 years agotag: id3v2: fix parsing of unsynced frames with data length indicator
Tim-Philipp Müller [Tue, 30 Mar 2010 00:50:32 +0000 (01:50 +0100)]
tag: id3v2: fix parsing of unsynced frames with data length indicator

Fixes bug #614158.

13 years agoAdd -Wwrite-strings to the configure flags
Benjamin Otte [Fri, 19 Mar 2010 23:54:14 +0000 (00:54 +0100)]
Add -Wwrite-strings to the configure flags

... and fix all warnings

13 years agotag: id3v2: prefer two letter ISO 639-1 code for extended comment
Tim-Philipp Müller [Sun, 13 Dec 2009 13:19:43 +0000 (13:19 +0000)]
tag: id3v2: prefer two letter ISO 639-1 code for extended comment

13 years agotag: id3v2: fixes warnings building on macosx
Josep Torra [Fri, 9 Oct 2009 13:59:25 +0000 (15:59 +0200)]
tag: id3v2: fixes warnings building on macosx

Another round on the formating of that debug line.

13 years agotag: id3v2: cast pointer math results to glong
Stefan Kost [Fri, 9 Oct 2009 11:44:02 +0000 (14:44 +0300)]
tag: id3v2: cast pointer math results to glong

13 years agotag: id3v2: don't cast, but use the right format specified instead
Stefan Kost [Fri, 9 Oct 2009 10:38:17 +0000 (13:38 +0300)]
tag: id3v2: don't cast, but use the right format specified instead

This correct some of the previous macos fixes.

13 years agotag: id3v2: fix printf warnings on macosx
Josep Torra [Fri, 9 Oct 2009 09:42:36 +0000 (11:42 +0200)]
tag: id3v2: fix printf warnings on macosx

13 years agotag: id3v2: fprintf, sprintf, sscanf need stdio.h
Stefan Kost [Wed, 7 Oct 2009 11:03:20 +0000 (14:03 +0300)]
tag: id3v2: fprintf, sprintf, sscanf need stdio.h

13 years agotag: id3v2: Fix compile warnings with gcc 4.0.1.
Alessandro Decina [Tue, 22 Sep 2009 13:03:20 +0000 (15:03 +0200)]
tag: id3v2: Fix compile warnings with gcc 4.0.1.

13 years agotag: id3v2: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8
LoneStar [Sun, 9 Aug 2009 10:52:17 +0000 (12:52 +0200)]
tag: id3v2: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8

Fixes bug #499242.

13 years agotag: id3v2: sizes in ID3 v2.3 are unlikely to be sync-safe integers
Tim-Philipp Müller [Fri, 7 Aug 2009 15:42:39 +0000 (16:42 +0100)]
tag: id3v2: 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.

13 years agotag: id3v2: fix typo in debug message
Tim-Philipp Müller [Fri, 7 Aug 2009 15:36:55 +0000 (16:36 +0100)]
tag: id3v2: fix typo in debug message

13 years agotag: id3v2: fix parsing of unsync'ed ID3 v2.4 tags and frames
Tim-Philipp Müller [Fri, 7 Aug 2009 15:02:23 +0000 (16:02 +0100)]
tag: id3v2: 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.

13 years agotag: id3v2: parse unsynchronised tags properly
Tim-Philipp Müller [Fri, 24 Apr 2009 00:51:35 +0000 (01:51 +0100)]
tag: id3v2: 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.

13 years agotag: id3v2: pass the right size value for size of all frames to the parser
Tim-Philipp Müller [Fri, 24 Apr 2009 00:01:53 +0000 (01:01 +0100)]
tag: id3v2: 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.

13 years agotag: id3v2: Use new utility functions in libgsttag to process coverart (#512333).
Tim-Philipp Müller [Wed, 4 Jun 2008 10:42:46 +0000 (10:42 +0000)]
tag: id3v2: 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-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Use new utility functions in libgsttag to process coverart (#512333).

13 years agotag: id3v2: Generate the image-type values correctly. Leave them out of the caps...
Jan Schmidt [Fri, 11 Jan 2008 21:08:59 +0000 (21:08 +0000)]
tag: id3v2: 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-libs/gst/tag/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.

13 years agotag: id3v2: Make sure the ISO 639-X language code in ID3v2 COMM frames so we don...
Tommi Myöhänen [Wed, 9 Jan 2008 15:20:19 +0000 (15:20 +0000)]
tag: id3v2: 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-libs/gst/tag/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.

13 years agotag: id3v2: Parse WOAF frames and put the result into GST_TAG_CONTACT, which is where...
Tim-Philipp Müller [Fri, 14 Dec 2007 10:17:10 +0000 (10:17 +0000)]
tag: id3v2: Parse WOAF frames and put the result into GST_TAG_CONTACT, which is where it would end up...

Original commit message from CVS:
* tag: id3v2: (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.

13 years agotag: id3v2: We don't want the same string multiple times in a tag list for the same...
Tim-Philipp Müller [Wed, 14 Nov 2007 21:39:47 +0000 (21:39 +0000)]
tag: id3v2: 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-libs/gst/tag/id3v2.c:
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/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.

13 years agotag: id3v2: Extract license/copyright URIs from ID3v2 WCOP frames (Fixes #447000).
Jason Kivlighn [Thu, 11 Oct 2007 17:55:29 +0000 (17:55 +0000)]
tag: id3v2: 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-libs/gst/tag/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.

13 years agotag: id3v2: Port ID3 tag demuxer over to the new GstTagDemux in -base (now would...
Tim-Philipp Müller [Sat, 6 Oct 2007 16:13:14 +0000 (16:13 +0000)]
tag: id3v2: 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-libs/gst/tag/gstid3demux.c:
* gst-libs/gst/tag/gstid3demux.h:
* gst-libs/gst/tag/id3v2.c:
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/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).

13 years agotag: id3v2: Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is the...
Tim-Philipp Müller [Mon, 12 Mar 2007 13:28:29 +0000 (13:28 +0000)]
tag: id3v2: 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-libs/gst/tag/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'.

13 years agotag: id3v2: Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise the...
Tim-Philipp Müller [Tue, 6 Mar 2007 18:16:49 +0000 (18:16 +0000)]
tag: id3v2: Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise the four-digit number will be interp...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/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.

13 years agotag: id3v2: Make sure that g_free always gets called on the same pointer that was...
René Stadler [Sun, 19 Nov 2006 13:41:53 +0000 (13:41 +0000)]
tag: id3v2: Make sure that g_free always gets called on the same pointer that was returned by g_mallo...

Original commit message from CVS:
* gst-libs/gst/tag/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>

13 years agotag: id3v2: We require a -base more recent than 0.10.9, so it's safe to use
Tim-Philipp Müller [Wed, 1 Nov 2006 13:59:49 +0000 (13:59 +0000)]
tag: id3v2: We require a -base more recent than 0.10.9, so it's safe to use

Original commit message from CVS:
* gst-libs/gst/tag/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.

13 years agotag: id3v2: Printf format fixes.
Tim-Philipp Müller [Thu, 5 Oct 2006 16:37:33 +0000 (16:37 +0000)]
tag: id3v2: 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-libs/gst/tag/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.

13 years agotag: id3v2: If strings in text fields are marked ISO8859-1, but contain valid UTF...
Jan Schmidt [Tue, 22 Aug 2006 13:53:34 +0000 (13:53 +0000)]
tag: id3v2: If strings in text fields are marked ISO8859-1, but contain valid UTF-8 already, then han...

Original commit message from CVS:
* gst-libs/gst/tag/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)

13 years agoconfigure.ac: Require CVS of GStreamer core and -base (for
Tim-Philipp Müller [Wed, 16 Aug 2006 13:01:32 +0000 (13:01 +0000)]
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-libs/gst/tag/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).

13 years agotag: id3v2: Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as well...
Tim-Philipp Müller [Tue, 25 Jul 2006 16:47:04 +0000 (16:47 +0000)]
tag: id3v2: Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as well, and add the version to...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.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).

13 years agotag: id3v2: On second thought, it might be wiser and more efficient not to do tag...
Tim-Philipp Müller [Sun, 23 Jul 2006 11:33:54 +0000 (11:33 +0000)]
tag: id3v2: 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-libs/gst/tag/gstid3demux.c: (plugin_init):
* gst-libs/gst/tag/id3v2.c:
(id3demux_add_id3v2_frame_blob_to_taglist):
* gst-libs/gst/tag/id3v2.h:
On second thought, it might be wiser and more efficient
not to do tag registration from a streaming thread.

13 years agotag: id3v2: Put ID3v2 frames we can't parse as binary blobs into private tags, so...
Tim-Philipp Müller [Sun, 23 Jul 2006 10:56:27 +0000 (10:56 +0000)]
tag: id3v2: 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-libs/gst/tag/id3v2.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.

13 years agotag: id3v2: Don't use \n in debug lines
Wim Taymans [Fri, 21 Jul 2006 10:57:00 +0000 (10:57 +0000)]
tag: id3v2: Don't use \n in debug lines

Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry):
Fix some leaks.
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
Don't use \n in debug lines.

13 years agotag: id3v2: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE...
Tim-Philipp Müller [Thu, 22 Jun 2006 12:17:13 +0000 (12:17 +0000)]
tag: id3v2: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Set image type from APIC frame as "image-type" field
of GST_TAG_IMAGE buffer caps (#344605).

13 years agotag: id3v2: Extract images from ID3v2 tags (APIC frames). Fixes #339704.
Tim-Philipp Müller [Sun, 11 Jun 2006 19:31:10 +0000 (19:31 +0000)]
tag: id3v2: Extract images from ID3v2 tags (APIC frames). Fixes #339704.

Original commit message from CVS:
* gst-libs/gst/tag/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).

13 years agotag: id3v2: A track/volume number or count of 0 does not make sense, just ignore...
Tim-Philipp Müller [Sun, 28 May 2006 10:05:47 +0000 (10:05 +0000)]
tag: id3v2: A track/volume number or count of 0 does not make sense, just ignore it along with negati...

Original commit message from CVS:
* gst-libs/gst/tag/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).

13 years agotag: id3v2: Don't output any tag when we encounter a negative track number - the...
Jan Schmidt [Fri, 19 May 2006 14:05:53 +0000 (14:05 +0000)]
tag: id3v2: Don't output any tag when we encounter a negative track number - the tag type is uint, so...

Original commit message from CVS:
* gst-libs/gst/tag/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)

13 years agotag: id3v2: Rework string parsing to always walk over BOM markers in UTF16 strings...
Jan Schmidt [Tue, 16 May 2006 14:07:29 +0000 (14:07 +0000)]
tag: id3v2: Rework string parsing to always walk over BOM markers in UTF16 strings, using the endianness indicated by the innermost one ...

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-libs/gst/tag/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

13 years agotag: id3v2: Some more debug info. No need to check whether the string returned by...
Tim-Philipp Müller [Fri, 12 May 2006 08:21:37 +0000 (08:21 +0000)]
tag: id3v2: Some more debug info. No need to check whether the string returned by g_convert() is real...

Original commit message from CVS:
* gst-libs/gst/tag/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.

13 years agotag: id3v2: Fix parsing of numeric genre strings some more, by ensuring that we only...
Jan Schmidt [Wed, 10 May 2006 13:51:01 +0000 (13:51 +0000)]
tag: id3v2: Fix parsing of numeric genre strings some more, by ensuring that we only try and parse st...

Original commit message from CVS:
* gst-libs/gst/tag/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

13 years agotag: id3v2: Recognise and skip any byte order marker (BOM) in
Tim-Philipp Müller [Fri, 28 Apr 2006 11:37:22 +0000 (11:37 +0000)]
tag: id3v2: Recognise and skip any byte order marker (BOM) in

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (has_utf16_bom),
(parse_split_strings):
Recognise and skip any byte order marker (BOM) in
UTF-16 strings.

13 years agotag: id3v2: Recognise TCO (Genre) tags in ID3v2.2
Alex Lancaster [Mon, 17 Apr 2006 10:01:51 +0000 (10:01 +0000)]
tag: id3v2: Recognise TCO (Genre) tags in ID3v2.2

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
Recognise TCO (Genre) tags in ID3v2.2. Patch by Alex Lancaster
(Fixes #338713)

13 years agotag: id3v2: use of GST_DEBUG instead of DEBUG(a...) for WIN32
Sébastien Moutte [Thu, 30 Mar 2006 23:37:16 +0000 (23:37 +0000)]
tag: id3v2: use of GST_DEBUG instead of DEBUG(a...) for WIN32

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

13 years agotag: id3v2: Don't attempt typefinding on too-short buffers that have been completely...
Jan Schmidt [Wed, 22 Mar 2006 13:00:34 +0000 (13:00 +0000)]
tag: id3v2: Don't attempt typefinding on too-short buffers that have been completely trimmed away.

Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_chain):
Don't attempt typefinding on too-short buffers that have been
completely trimmed away.
* gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
Improve the debug output

13 years agotag: id3v2: We only care about gain and peak data for the master volume.
Tim-Philipp Müller [Thu, 16 Mar 2006 16:06:22 +0000 (16:06 +0000)]
tag: id3v2: We only care about gain and peak data for the master volume.

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c:
(parse_relative_volume_adjustment_two):
We only care about gain and peak data for the master volume.

13 years agotag: id3v2: Read replay gain tags
Tim-Philipp Müller [Thu, 16 Mar 2006 13:22:28 +0000 (13:22 +0000)]
tag: id3v2: Read replay gain tags

Original commit message from CVS:
* gst-libs/gst/tag/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).

13 years agoconfigure.ac: Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(), used...
Tim-Philipp Müller [Tue, 14 Mar 2006 17:56:02 +0000 (17:56 +0000)]
configure.ac: Bump -base requirement to 0.10.5 for 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-libs/gst/tag/gstid3demux.c: (plugin_init):
* gst-libs/gst/tag/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.

13 years agotag: id3v2: Handle 0 data size in otherwise valid frames.
Jan Schmidt [Sat, 18 Feb 2006 20:48:09 +0000 (20:48 +0000)]
tag: id3v2: Handle 0 data size in otherwise valid frames.

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
* gst-libs/gst/tag/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

13 years agotag: id3v2: 3 2.3.0 used synch-safe integers for the tag size, but not for the frame...
Jan Schmidt [Thu, 16 Feb 2006 10:58:18 +0000 (10:58 +0000)]
tag: id3v2: 3 2.3.0 used synch-safe integers for the tag size, but not for the frame size. (Fixes #331368)

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.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)

13 years agotag: id3v2: Add more validation to ensure that a char encoding conversion produced...
Jan Schmidt [Mon, 13 Feb 2006 12:00:51 +0000 (12:00 +0000)]
tag: id3v2: Add more validation to ensure that a char encoding conversion produced a valid UTF-8 string.

Original commit message from CVS:
* gst-libs/gst/tag/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.