platform/upstream/gstreamer.git
13 years agomultichannel: add some more channels
Wim Taymans [Wed, 24 Aug 2011 16:39:47 +0000 (18:39 +0200)]
multichannel: add some more channels

13 years agoaudio/video: add format of the pack functions
Wim Taymans [Wed, 24 Aug 2011 14:40:43 +0000 (16:40 +0200)]
audio/video: add format of the pack functions

Replace the unpack_size with an unpack_format, which is more descriptive of the
kind of data the unpack function will create.

13 years agoaudio: rename UNPOSITIONED to DEFAULT_POSITIONS
Wim Taymans [Wed, 24 Aug 2011 12:13:33 +0000 (14:13 +0200)]
audio: rename UNPOSITIONED to DEFAULT_POSITIONS

Rename the UNPOSITIONED flag to the DEFAULT_POSITIONS flag because that is
really what the resulting GstAudioInfo will contain as the chanel mappings.

13 years agovideo: Add an id to the video frame
Wim Taymans [Wed, 24 Aug 2011 11:52:20 +0000 (13:52 +0200)]
video: Add an id to the video frame

Rename @view_id to @id.
Add an id to the video metadata. Add a method to get the metadata from a buffer
with the given id.
Make a method to map a frame with a certain id. This only maps the frame with
the given id on the video metadata. The generic frame id can be used when a
buffer carries multiple video frames such as in multiview mode but maybe also
when dealing with interlaced video that stores the fields in separate buffers.

13 years agoaudiotestsrc: fix build
Wim Taymans [Wed, 24 Aug 2011 09:05:05 +0000 (11:05 +0200)]
audiotestsrc: fix build

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Wed, 24 Aug 2011 09:04:53 +0000 (11:04 +0200)]
Merge branch 'master' into 0.11

Conflicts:
ext/ogg/gstoggmux.c
ext/vorbis/gstvorbisenc.c

13 years agooggdemux: do not warn when reaching EOS while scanning for the end chain
Vincent Penquerc'h [Tue, 23 Aug 2011 10:12:10 +0000 (11:12 +0100)]
oggdemux: do not warn when reaching EOS while scanning for the end chain

After all, we were asking for it.

This gets rid of the last warning-about-expected-condition.

w00t.

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

13 years agooggdemux: add media type to chain information reports
Vincent Penquerc'h [Tue, 23 Aug 2011 10:08:25 +0000 (11:08 +0100)]
oggdemux: add media type to chain information reports

One more little step in making logs a little less abstruse.

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

13 years agooggstream: correctly identify skeleton EOS packet
Vincent Penquerc'h [Tue, 23 Aug 2011 10:05:11 +0000 (11:05 +0100)]
oggstream: correctly identify skeleton EOS packet

It is 0 byte, and was triggering the "bad packet" logic.

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

13 years agooggdemux: do not warn about expected occurences
Vincent Penquerc'h [Tue, 23 Aug 2011 09:58:20 +0000 (10:58 +0100)]
oggdemux: do not warn about expected occurences

In this case, finding a skeleton packet.
Once upon a time, it used to be rare indeed, but no more.

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

13 years agooggdemux: do not warn when finding a non BOS page
Vincent Penquerc'h [Tue, 23 Aug 2011 09:47:53 +0000 (10:47 +0100)]
oggdemux: do not warn when finding a non BOS page

After all, we do hope to find actual data for these streams.
However, warn if we could not set up a chain when we find a
non BOS page, as that means we don't have a valid Ogg stream.

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

13 years agooggdemux: rename local variable for clarity
Vincent Penquerc'h [Tue, 23 Aug 2011 09:40:12 +0000 (10:40 +0100)]
oggdemux: rename local variable for clarity

While the casual reader might end up bewildered by just why this
change might increase clarity, it just happens than, in the libogg
and associated sources, op is the canonical name for an ogg_packet
whlie og is the canonical name for an ogg_page, and reading this
code confuses me.

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

13 years agooggdemux: do not try to determine duration of header packets
Vincent Penquerc'h [Tue, 23 Aug 2011 09:32:36 +0000 (10:32 +0100)]
oggdemux: do not try to determine duration of header packets

Headers are inherently durationless.
Instead, set duration to 0 to avoid increasing tracked granpos,
and do not warn about it, since it is totally expected.

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

13 years agooggstream: include stream type in warnings
Vincent Penquerc'h [Tue, 23 Aug 2011 09:29:49 +0000 (10:29 +0100)]
oggstream: include stream type in warnings

It makes it easier to work out what's going on.

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

13 years agooggstream: set skeleton stream media type to application/x-ogg-skeleton
Vincent Penquerc'h [Tue, 23 Aug 2011 09:28:33 +0000 (10:28 +0100)]
oggstream: set skeleton stream media type to application/x-ogg-skeleton

This is to match the typefinder, and to make logs clearer.

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

13 years agooggmux: add skeleton write support
Vincent Penquerc'h [Wed, 17 Aug 2011 16:09:44 +0000 (17:09 +0100)]
oggmux: add skeleton write support

Version written is 3.0

Base times are left empty for now.

Content-Type should be the MIME type of the stream. It is set to
the GStreamer media type for now, which is probably the same for
the streams oggmux supports.

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

13 years agovideo: fix chroma-site enums
Wim Taymans [Tue, 23 Aug 2011 18:34:24 +0000 (20:34 +0200)]
video: fix chroma-site enums

13 years agovideo: avoid gst-indent breaking the code
Wim Taymans [Tue, 23 Aug 2011 17:23:03 +0000 (19:23 +0200)]
video: avoid gst-indent breaking the code

13 years agovideo: fix docs
Wim Taymans [Tue, 23 Aug 2011 17:04:34 +0000 (19:04 +0200)]
video: fix docs

13 years agovideo: add colorimetry info
Wim Taymans [Tue, 23 Aug 2011 16:57:35 +0000 (18:57 +0200)]
video: add colorimetry info

Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.

13 years agooggdemux: do not skip sparse streams when determining start times
Vincent Penquerc'h [Mon, 22 Aug 2011 13:56:38 +0000 (14:56 +0100)]
oggdemux: do not skip sparse streams when determining start times

This fixes demuxing of streams containing only sparse streams,
which would cause an infinite loop in _read_end_chain.

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

13 years agooggdemux: do not ignore sparse streams' start time
Vincent Penquerc'h [Mon, 22 Aug 2011 13:55:59 +0000 (14:55 +0100)]
oggdemux: do not ignore sparse streams' start time

But do not wait for them either, if we don't have a packet for them.

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

13 years agovorbisenc: Relax overly-tight jitter tolerances in gstvobisenc
Monty Montgomery [Thu, 21 Jul 2011 21:16:26 +0000 (17:16 -0400)]
vorbisenc: Relax overly-tight jitter tolerances in gstvobisenc

vorbisenc currently reacts in a rater draconian fashion if input
timestamps are more than 1/2 sample off what it considers ideal. If data
is 'too late' it truncates buffers, if it is 'too soon' it completely
shuts down encode and restarts it.  This is causingvorbisenc to produce
corrupt output when encoding data produced by sources with bugs that
produce a smple or two of jitter (eg, flacdec)

13 years agoaudio: use convert audio helper
Wim Taymans [Mon, 22 Aug 2011 14:21:02 +0000 (16:21 +0200)]
audio: use convert audio helper

13 years agoaudio: move function to convert
Wim Taymans [Mon, 22 Aug 2011 14:11:27 +0000 (16:11 +0200)]
audio: move function to convert

13 years agovideo: parse number of views
Wim Taymans [Mon, 22 Aug 2011 13:57:30 +0000 (15:57 +0200)]
video: parse number of views

Parse the number of views in multiview video buffers.

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Mon, 22 Aug 2011 11:14:49 +0000 (13:14 +0200)]
Merge branch 'master' into 0.11

Conflicts:
ext/pango/gsttextoverlay.c

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Mon, 22 Aug 2011 11:06:27 +0000 (13:06 +0200)]
Merge branch 'master' into 0.11

Conflicts:
gst-libs/gst/interfaces/videooverlay.c
gst-libs/gst/rtp/gstrtpbuffer.c
po/af.po
po/az.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/lt.po
po/lv.po
po/nb.po
po/nl.po
po/or.po
po/pl.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sq.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po

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 agotextoverlay: fix text buffer leak
Vincent Penquerc'h [Mon, 22 Aug 2011 08:06:53 +0000 (09:06 +0100)]
textoverlay: fix text buffer leak

Make sure to always unref the input text buffer.

Reported by bcxa.sz@gmail.com.

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

13 years agodocs: fix xref for the property
Stefan Kost [Sat, 20 Aug 2011 17:46:31 +0000 (19:46 +0200)]
docs: fix xref for the property

13 years agodocs: handle warnings emitted by gtk-doc
Stefan Kost [Sat, 20 Aug 2011 17:16:42 +0000 (19:16 +0200)]
docs: handle warnings emitted by gtk-doc

This is useful and in most cases someone had put arbitrary markup into the docs,
misspelled xref'ed symbols, forgot to add stuff to the docs etc..

13 years agodocs: partially revert my last commit
Stefan Kost [Sat, 20 Aug 2011 15:53:11 +0000 (17:53 +0200)]
docs: partially revert my last commit

Somehow this was already there, but I missed that commit.

13 years agodocs: add new taglicense docs and clean them up
Stefan Kost [Sat, 20 Aug 2011 12:11:11 +0000 (14:11 +0200)]
docs: add new taglicense docs and clean them up

Avoid ugly docbook tags unless needed.

13 years agopo: update for new translatable string
Tim-Philipp Müller [Sat, 20 Aug 2011 11:37:10 +0000 (12:37 +0100)]
po: update for new translatable string

13 years agotag: fix distcheck issue
Tim-Philipp Müller [Sat, 20 Aug 2011 11:36:20 +0000 (12:36 +0100)]
tag: fix distcheck issue

Dist licenses dict.

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.