Commit graph

9983 commits

Author SHA1 Message Date
Wim Taymans
dae848818d 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.
2011-08-18 19:15:03 +02:00
Edward Hervey
2ee31ccac9 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
2011-08-18 13:42:26 +02:00
Vincent Penquerc'h
1dadc5eac1 ogg: get the operator precedence right, even if only a doc
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:17:40 +02:00
Vincent Penquerc'h
cf370e0219 oggstream: vorbis has a preroll of 2
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:17:28 +02:00
Vincent Penquerc'h
96e7bf53e9 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
2011-08-18 11:17:15 +02:00
Vincent Penquerc'h
8304b7b40d 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
2011-08-18 11:16:50 +02:00
Vincent Penquerc'h
fd8434fc74 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
2011-08-18 11:16:19 +02:00
Vincent Penquerc'h
5bbf7109ec 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
2011-08-18 11:15:51 +02:00
Vincent Penquerc'h
684b90ba74 oggmux: factor the header packet creation code
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:13:59 +02:00
Vincent Penquerc'h
3fe42b8e7e oggmux: headers should always have granpos 0
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:13:47 +02:00
Vincent Penquerc'h
30236ddfd3 audioresample: fix build without orc
https://bugzilla.gnome.org/show_bug.cgi?id=656781
2011-08-18 11:03:58 +02:00
Wim Taymans
d1a83d7a41 baseaudiosrc: chain up to parent in fixate 2011-08-17 17:24:35 +02:00
Wim Taymans
0290df6fc5 audiotestsrc: properly override fixate 2011-08-17 17:22:03 +02:00
Wim Taymans
b01d32b195 videotestsrc: properly override the fixate function 2011-08-17 17:18:20 +02:00
Wim Taymans
ba1ca45eda video: add some more macros 2011-08-17 17:18:02 +02:00
Wim Taymans
d3b93e839a tagdemux: port to 0.11 2011-08-17 10:57:52 +02:00
Wim Taymans
3dd31cce39 xvimagesink: fix compiler warning 2011-08-17 10:57:13 +02:00
Wim Taymans
d679dd2c54 audioresample: fix after merge 2011-08-17 10:47:38 +02:00
Wim Taymans
246622b1e8 adder: fix after merge 2011-08-17 10:47:20 +02:00
Wim Taymans
33467d9629 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
2011-08-16 18:01:14 +02:00
Wim Taymans
d6740006d4 audio: remove deprecated methods 2011-08-16 16:59:15 +02:00
Tim-Philipp Müller
6d875c5ccd tag: id3: avoid some more relocations in genre table 2011-08-16 12:27:25 +01:00
Vincent Penquerc'h
505bae099e 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
2011-08-16 08:14:18 +02:00
Alessandro Decina
22cc529409 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.
2011-08-15 23:46:53 +02:00
Wim Taymans
515d4a9a6d xvimage: avoid caps intersection
Store the video format in the XvImage format list so that we can quickly map
between the two.
2011-08-15 18:39:09 +02:00
Wim Taymans
8fe31fa12e gststreamsynchronizer: don't abuse PREROLL flag
the preroll flag is not implemented and will disappear soon.
2011-08-15 18:38:04 +02:00
Wim Taymans
e904c529e3 fix for _negotiated_caps() change 2011-08-15 12:18:15 +02:00
Tim-Philipp Müller
59f2249284 docs: add new license API to docs 2011-08-15 00:17:14 +01:00
Tim-Philipp Müller
a5933eb14b configure: try pkg-config first when looking for zlib 2011-08-15 00:10:35 +01:00
Tim-Philipp Müller
685eb3b954 tag: id3v2: add specs to git for reference 2011-08-15 00:10:35 +01:00
Tim-Philipp Müller
169c5033f0 tag: id3v2: avoid some relocations, make table static 2011-08-15 00:10:34 +01:00
Tim-Philipp Müller
f25c715104 tag: id3v2: add debug category for ID3 tag parsing 2011-08-15 00:10:34 +01:00
Mark Nauwelaerts
08e6b5c54e tag: id3v2: add id3v2 tag parsing helpers
https://bugzilla.gnome.org/show_bug.cgi?id=654388
2011-08-15 00:10:34 +01:00
Stefan Kost
4f042aeb1a tag: id3v2: return ID3TAGS_BROKEN_TAG for unsupported versions
This prevents us for trying to work with a NULL taglist.
2011-08-15 00:10:34 +01:00
Erich Schubert
afe6ee7f3c 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
2011-08-15 00:10:34 +01:00
Edward Hervey
d2cec9e102 tag: id3v2: Sanitize id3 frame names
This is similar to what is done in qtdemux. Avoids providing invalid
structure/tags names
2011-08-15 00:10:34 +01:00
Tim-Philipp Müller
366ed8edb4 tag: id3v2: fix parsing of unsynced frames with data length indicator
Fixes bug #614158.
2011-08-15 00:10:34 +01:00
Benjamin Otte
50a6cb5450 Add -Wwrite-strings to the configure flags
... and fix all warnings
2011-08-15 00:10:34 +01:00
Tim-Philipp Müller
e4752b52b8 tag: id3v2: prefer two letter ISO 639-1 code for extended comment 2011-08-15 00:10:34 +01:00
Josep Torra
ad10b0185a tag: id3v2: fixes warnings building on macosx
Another round on the formating of that debug line.
2011-08-15 00:10:33 +01:00
Stefan Kost
aa6ff34c57 tag: id3v2: cast pointer math results to glong 2011-08-15 00:10:33 +01:00
Stefan Kost
dd3826a3a6 tag: id3v2: don't cast, but use the right format specified instead
This correct some of the previous macos fixes.
2011-08-15 00:10:33 +01:00
Josep Torra
67fabdb461 tag: id3v2: fix printf warnings on macosx 2011-08-15 00:10:33 +01:00
Stefan Kost
ed05fcfb2c tag: id3v2: fprintf, sprintf, sscanf need stdio.h 2011-08-15 00:10:33 +01:00
Alessandro Decina
4a885b094f tag: id3v2: Fix compile warnings with gcc 4.0.1. 2011-08-15 00:10:33 +01:00
LoneStar
687055c852 tag: id3v2: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8
Fixes bug #499242.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
09b26dbf5c 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.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
891ed455e7 tag: id3v2: fix typo in debug message 2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
c2c21806ba 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.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
941d5080fa 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.
2011-08-15 00:10:32 +01:00