Sebastian Dröge [Wed, 11 Jan 2012 09:49:49 +0000 (10:49 +0100)]
audio: More UNPOSITION flag sanity checks
..and turn the GST_WARNING() into a g_warning(). This is a programming
error and should be fixed.
Sebastian Dröge [Wed, 11 Jan 2012 09:44:37 +0000 (10:44 +0100)]
audio: Add validity check for the UNPOSITIONED audio flag
Also reset the flag when parsing caps.
Vincent Penquerc'h [Tue, 10 Jan 2012 19:01:11 +0000 (19:01 +0000)]
Revert "oggmux: fix pad leak"
This reverts commit
5df30c1b905edce16f2258e414a0a4afb540d0f1.
I must have dreamt the Valgrind logs, reverting this reintroduces
no leak, and gets rid of the test failures it introduced :S
Tim-Philipp Müller [Tue, 10 Jan 2012 18:27:19 +0000 (18:27 +0000)]
discoverer: use GST_TYPE_TAG_LIST for tag lists
They may not be structures in 0.11/1.0.
Tim-Philipp Müller [Tue, 10 Jan 2012 18:07:19 +0000 (18:07 +0000)]
discoverer: fix potential tag list leaks
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
Tim-Philipp Müller [Tue, 10 Jan 2012 17:48:44 +0000 (17:48 +0000)]
discoverer: fix potential caps leak
in last else chunk.
Vincent Penquerc'h [Tue, 10 Jan 2012 16:57:04 +0000 (16:57 +0000)]
oggstream: fix tag list leak
Vincent Penquerc'h [Tue, 10 Jan 2012 16:51:09 +0000 (16:51 +0000)]
oggdemux: fix pad leak
Vincent Penquerc'h [Tue, 10 Jan 2012 16:14:29 +0000 (16:14 +0000)]
oggdemux: fix hang on small truncated files
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
Vincent Penquerc'h [Tue, 10 Jan 2012 14:35:31 +0000 (14:35 +0000)]
oggmux: fix pad leak
Sebastian Dröge [Tue, 10 Jan 2012 14:59:27 +0000 (15:59 +0100)]
streamsynchronizer: Don't unref the parent in the event function
Sebastian Dröge [Tue, 10 Jan 2012 12:15:12 +0000 (13:15 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
Sebastian Dröge [Tue, 10 Jan 2012 11:57:27 +0000 (12:57 +0100)]
win32: Add the new audio symbols to the list of exported symbols
Sebastian Dröge [Tue, 10 Jan 2012 11:46:05 +0000 (12:46 +0100)]
audiometa: Improve GstAudioDownmixMeta to be actually usable
This now has a two-dimensional array of coefficients
as required and also stores the source and destination
channel positions.
Sebastian Dröge [Tue, 10 Jan 2012 11:02:56 +0000 (12:02 +0100)]
audio: Don't crash if NULL positions are passed to gst_audio_info_set_format()
Sebastian Dröge [Mon, 9 Jan 2012 13:19:54 +0000 (14:19 +0100)]
audiobasesink: Fix infinite recursion by chaining up to the correct parent class vfunc
Mark Nauwelaerts [Mon, 9 Jan 2012 11:31:02 +0000 (12:31 +0100)]
playback: document DEINTERLACE flag
Sebastian Dröge [Mon, 9 Jan 2012 07:24:23 +0000 (08:24 +0100)]
audio: Don't check for channel positions in valid order when converting to a channel mask
Tim-Philipp Müller [Sat, 7 Jan 2012 20:12:17 +0000 (20:12 +0000)]
rtspconnection: make hostname lookup more thread-safe
Don't write IP number string to return into a static
array which is shared amongst all threads (note: of
course a copy is returned).
https://bugzilla.gnome.org/show_bug.cgi?id=666711
Tim-Philipp Müller [Sat, 7 Jan 2012 19:39:42 +0000 (19:39 +0000)]
discoverer: make is_subtitle_caps thread-safe
Tim-Philipp Müller [Sat, 7 Jan 2012 16:43:26 +0000 (16:43 +0000)]
tests: add ogg test file and some proper unit tests for discoverer
Leaks when re-used, so blacklisted for valgrind for now.
Tim-Philipp Müller [Sat, 7 Jan 2012 14:44:51 +0000 (14:44 +0000)]
win32: .def file should be sorted for make check-exports
Mark Nauwelaerts [Fri, 6 Jan 2012 15:15:40 +0000 (16:15 +0100)]
vorbisdec: use right channel variable even more
Mark Nauwelaerts [Fri, 6 Jan 2012 15:13:35 +0000 (16:13 +0100)]
audioresample: fix debug message format specifier
Edward Hervey [Fri, 6 Jan 2012 14:40:06 +0000 (15:40 +0100)]
Revert "decodebin2: Try harder to get initial topology caps"
This reverts commit
6b3e3544d41ce0bc42c3597b3eb2130719379917.
I really shouldn't put WIP commits in my main branch ...
Edward Hervey [Fri, 6 Jan 2012 14:16:00 +0000 (15:16 +0100)]
tests: Remove dead header include
Edward Hervey [Fri, 6 Jan 2012 14:14:59 +0000 (15:14 +0100)]
audio: Fix size check
We fail (and return) if the size is *NOT* a multiple of samples.
Edward Hervey [Thu, 5 Jan 2012 07:29:43 +0000 (08:29 +0100)]
decodebin2: Try harder to get initial topology caps
Since caps are no longer 'shared' between two pads (but forwarded from
source pad to sink pad) we end up with the first chain pad not having
specified caps (i.e. typefind:src).
This solves the issues by getting the pad's peer caps.
It is not optimal since it will (for most demuxers) return the pad
template caps, which might contain non-fixed caps (ex : with
qtdemux "video/quicktime; video/mj2; audio/x-m4a; application/x-3gp")
https://bugzilla.gnome.org/show_bug.cgi?id=667337
Christian Fredrik Kalager Schaller [Fri, 6 Jan 2012 12:06:00 +0000 (12:06 +0000)]
Fix playbin2 -> playbin in Makefile
Vincent Penquerc'h [Wed, 14 Dec 2011 14:14:47 +0000 (14:14 +0000)]
video: overlays may now have premultiplied alpha
https://bugzilla.gnome.org/show_bug.cgi?id=666177
Havard Graff [Tue, 1 Nov 2011 16:57:59 +0000 (17:57 +0100)]
Fix various unlikely, but still potential memoryleaks in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=667311
Havard Graff [Sat, 22 Oct 2011 14:41:23 +0000 (16:41 +0200)]
appsrc: implement get_caps vfunc
This allows downstream elements to query what caps are available.
https://bugzilla.gnome.org/show_bug.cgi?id=667312
Wim Taymans [Thu, 5 Jan 2012 12:59:32 +0000 (13:59 +0100)]
audio: expose API to convert channel array to a mask
Tim-Philipp Müller [Thu, 5 Jan 2012 12:23:08 +0000 (12:23 +0000)]
tools: avoid unportable vararg macro construct in gst-discoverer
https://bugzilla.gnome.org/show_bug.cgi?id=667306
Wim Taymans [Thu, 5 Jan 2012 11:32:06 +0000 (12:32 +0100)]
vorbisdec: use right channel variable
Wim Taymans [Thu, 5 Jan 2012 11:31:51 +0000 (12:31 +0100)]
riff: don't use NULL arrays
Idar Tollefsen [Sun, 1 Jan 2012 19:44:08 +0000 (20:44 +0100)]
build: Run platform check for platform specific configuration.
Pascal Buhler [Wed, 12 Oct 2011 09:28:10 +0000 (11:28 +0200)]
rtcpbuffer: prevent overflow of 16bit header length.
RTCP header can be (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.
https://bugzilla.gnome.org/show_bug.cgi?id=667313
Havard Graff [Sat, 24 Sep 2011 12:05:42 +0000 (14:05 +0200)]
videotestsrc: keep the calculation fixed-point
https://bugzilla.gnome.org/show_bug.cgi?id=667315
Idar Tollefsen [Thu, 4 Aug 2011 09:30:05 +0000 (11:30 +0200)]
pango: changes includes from brackets to quotes for local files
https://bugzilla.gnome.org/show_bug.cgi?id=667316
Sebastian Dröge [Wed, 4 Jan 2012 13:48:33 +0000 (14:48 +0100)]
audio: Improve/fix handling of NONE layouts
Sebastian Dröge [Wed, 4 Jan 2012 13:35:48 +0000 (14:35 +0100)]
audio: Add support again for more than 64 channels with NONE layouts
Sebastian Dröge [Wed, 4 Jan 2012 09:26:47 +0000 (10:26 +0100)]
audiotestsrc: Fix channel-mask handling
Sebastian Dröge [Wed, 4 Jan 2012 09:26:33 +0000 (10:26 +0100)]
audioconvert: Fix channel-mask handling
Sebastian Dröge [Wed, 4 Jan 2012 08:54:56 +0000 (09:54 +0100)]
audio: Fix GST_AUDIO_CHANNEL_POSITION_MASK macro
Sebastian Dröge [Sat, 31 Dec 2011 13:32:45 +0000 (14:32 +0100)]
ogg: Update for the libgstriff API changes
Still needs to handle the raw audio channel reordering.
Sebastian Dröge [Sat, 31 Dec 2011 13:31:08 +0000 (14:31 +0100)]
gst: Add new layout field to all raw audio caps
Sebastian Dröge [Sat, 31 Dec 2011 13:25:09 +0000 (14:25 +0100)]
ext: Add new layout field to the raw audio caps
Sebastian Dröge [Sat, 31 Dec 2011 13:21:27 +0000 (14:21 +0100)]
gst: Add new layout field to the raw audio caps
Sebastian Dröge [Sat, 31 Dec 2011 13:15:41 +0000 (14:15 +0100)]
riff: Return a channel reorder map for raw audio when creating the caps
Sebastian Dröge [Sat, 31 Dec 2011 12:50:04 +0000 (13:50 +0100)]
riff: Add the layout field to the raw audio caps
Sebastian Dröge [Sat, 31 Dec 2011 12:47:57 +0000 (13:47 +0100)]
audioencoder: Proxy the channel mask field instead of the old channel-layout field
Sebastian Dröge [Sat, 31 Dec 2011 12:47:24 +0000 (13:47 +0100)]
audiocdsrc: Add the layout field to the caps
Sebastian Dröge [Sat, 31 Dec 2011 12:46:53 +0000 (13:46 +0100)]
audio: Add "layout" field to the raw audio caps
This can be used to differentiate between interleaved
and non-interleaved audio and whatever comes in the future.
Sebastian Dröge [Sat, 31 Dec 2011 12:33:01 +0000 (13:33 +0100)]
audio: Add function to reorder channel positions from any order to the GStreamer order
Sebastian Dröge [Sat, 24 Dec 2011 09:54:20 +0000 (10:54 +0100)]
audioringbuffer: Use new function to get a channel reordering map
Sebastian Dröge [Sat, 24 Dec 2011 09:50:20 +0000 (10:50 +0100)]
audio: Add documentation for the new functions
Sebastian Dröge [Sat, 24 Dec 2011 09:37:28 +0000 (10:37 +0100)]
audio: Add public functions to check channel positions validity and to get a reorder map
Sebastian Dröge [Tue, 20 Dec 2011 15:55:34 +0000 (16:55 +0100)]
riff: Port to the new multichannel caps
Sebastian Dröge [Tue, 20 Dec 2011 15:34:38 +0000 (16:34 +0100)]
audio: Remove testchannels example
It's not really relevant anymore
Sebastian Dröge [Tue, 20 Dec 2011 11:08:53 +0000 (12:08 +0100)]
vorbis: Port to the new multichannel caps
Sebastian Dröge [Tue, 20 Dec 2011 10:44:27 +0000 (11:44 +0100)]
alsa: Port to the new multichannel caps
Sebastian Dröge [Mon, 19 Dec 2011 13:27:28 +0000 (14:27 +0100)]
audioconvert: Update unit test for the new multichannel caps
Sebastian Dröge [Mon, 19 Dec 2011 11:41:24 +0000 (12:41 +0100)]
audioconvert: Port to the new multichannel caps
audioconvert still needs support for mixing all the new
channel positions, see:
https://bugzilla.gnome.org/show_bug.cgi?id=666506
Sebastian Dröge [Tue, 20 Dec 2011 15:20:06 +0000 (16:20 +0100)]
audioringbuffer: Add support for reordering of channels
Sebastian Dröge [Mon, 19 Dec 2011 09:04:30 +0000 (10:04 +0100)]
audio: Add tests for the new multichannel caps and reordering function
Sebastian Dröge [Fri, 16 Dec 2011 09:55:13 +0000 (10:55 +0100)]
audio: Add new channel positions and simplify channel expression in the caps
The available channel positions are all channels from SMPTE 2036-2-2008
(in that order) and DTS Coherent Acoustics, which are basically all 28
channels that currently can appear.
The channels are now expressed in the caps as a channel-mask, which
describes which of the channels are present, and an optional
channel-reorder-map, which must only be used after negotiation for
fixated caps.
For negotiation only the channel-mask and the channel count is relevant
and all elements are expected to handle all reorder maps. Elements that
don't can use the new API to reorder an audio buffer from any order to
another order.
This simplifies negotiation a lot while still having as few reorderings
necassary as possible and still allow all kinds of channel layouts.
Philip Flarsheim [Thu, 5 Jan 2012 01:51:35 +0000 (01:51 +0000)]
docs: add win32 code snippets to GstXOverlay Gtk+ example
Tim-Philipp Müller [Wed, 4 Jan 2012 19:50:58 +0000 (19:50 +0000)]
Automatic update of common submodule
From a62f3d4 to 0807187
Wim Taymans [Wed, 4 Jan 2012 16:57:39 +0000 (17:57 +0100)]
multifdsink: use pad caps for streamheader
Instead of using the caps on the buffer, use the caps on the pad.
Wim Taymans [Wed, 4 Jan 2012 15:41:53 +0000 (16:41 +0100)]
tests: port and enable more unit tests
Tim-Philipp Müller [Tue, 3 Jan 2012 21:20:04 +0000 (21:20 +0000)]
videotestsrc: don't build generate_sine_table utility by default
Mark Nauwelaerts [Tue, 3 Jan 2012 10:04:23 +0000 (11:04 +0100)]
streamsynchronizer: force fallback buffer_alloc when other pad not available
... to avoid unnecessary spurious errors (upon e.g. shutdown).
If a real error is applicable in this unusual circumstance (missing other pad),
other (STREAM_LOCK protected) call paths can take care of that.
Mark Nauwelaerts [Tue, 3 Jan 2012 10:02:17 +0000 (11:02 +0100)]
streamsynchronizer: avoid crashing when operating on released pad
Wim Taymans [Tue, 3 Jan 2012 09:41:51 +0000 (10:41 +0100)]
video: add macro to check interlaced
Add a convenience macro to check if the video is interlaced.
Wim Taymans [Mon, 2 Jan 2012 17:31:16 +0000 (18:31 +0100)]
defs: update
Wim Taymans [Mon, 2 Jan 2012 17:31:05 +0000 (18:31 +0100)]
tests: small cleanup
Wim Taymans [Mon, 2 Jan 2012 17:28:46 +0000 (18:28 +0100)]
streamcombiner: fix srcpad query caps
The caps query on the srcpad should return the template caps instead of
forwarding the query.
Wim Taymans [Mon, 2 Jan 2012 16:42:11 +0000 (17:42 +0100)]
videorate: chain up to parent event function
Wim Taymans [Mon, 2 Jan 2012 16:28:12 +0000 (17:28 +0100)]
videorate: fix caps negotiation function
Wim Taymans [Mon, 2 Jan 2012 15:13:51 +0000 (16:13 +0100)]
videofilter: use caps of the allocation query
Use the caps from the allocation query to propose a video bufferpool instead of
our own negotiated caps.
Wim Taymans [Mon, 2 Jan 2012 14:59:09 +0000 (15:59 +0100)]
audioresample: truncate in fixation
Wim Taymans [Mon, 2 Jan 2012 14:40:35 +0000 (15:40 +0100)]
tests: fix a unit test
The ogg muxer now has video and audio pads
Wim Taymans [Mon, 2 Jan 2012 14:39:58 +0000 (15:39 +0100)]
audioencoder: turn assert into a real error
Post a real error instead of just asserting. Fixes a unit test.
Tim-Philipp Müller [Mon, 2 Jan 2012 14:30:53 +0000 (14:30 +0000)]
playback, mixerutils: gst_registry_get_default() -> gst_registry_get()
Wim Taymans [Mon, 2 Jan 2012 14:03:54 +0000 (15:03 +0100)]
audioconvert: handle unpositioned channels
Refuse to convert between unpositioned layouts.
Wim Taymans [Mon, 2 Jan 2012 14:01:58 +0000 (15:01 +0100)]
audio: add flag for unpositioned layout
Check if thr layout is explicitly unpositioned and set a flag in the
audio info structure.
Wim Taymans [Mon, 2 Jan 2012 14:00:51 +0000 (15:00 +0100)]
tests: remove unsupported formats
Remove tests for a format that is no longer supported
Wim Taymans [Mon, 2 Jan 2012 12:30:53 +0000 (13:30 +0100)]
video: fix some video formats
Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
the offset of the plane in the buffer. The poffset is the offset in the plane
where the first byte of the component data can be found.
Properly implement the COMP_OFFSET calculations.
Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
variants, we use the plane info to reorder components already.
Improve the unit test.
Tim-Philipp Müller [Mon, 2 Jan 2012 00:59:39 +0000 (00:59 +0000)]
tag: add function to check whether a string is a valid language code
API: gst_tag_check_language_code()
Tim-Philipp Müller [Tue, 20 Dec 2011 21:48:29 +0000 (21:48 +0000)]
audio, rtsp: remove private/protected gtk-doc markup for enums
This confuses glib-mkenums, and is not really useful anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=666618
Stefan Sauer [Fri, 30 Dec 2011 17:36:37 +0000 (18:36 +0100)]
controller: port to latest API changes
Tim-Philipp Müller [Fri, 30 Dec 2011 19:26:24 +0000 (19:26 +0000)]
video: add some padding to GstVideoFilter
Tim-Philipp Müller [Fri, 30 Dec 2011 19:24:09 +0000 (19:24 +0000)]
docs: make gtk-doc happier
Tim-Philipp Müller [Fri, 30 Dec 2011 16:47:13 +0000 (16:47 +0000)]
tests: disable direct structure access in audiocd test
Tim-Philipp Müller [Fri, 30 Dec 2011 16:26:47 +0000 (16:26 +0000)]
audiocdsrc: remove some probing-related vfuncs
GstPropertyProbe was removed, so these aren't actually used
and we probably want something different for the new API.
Tim-Philipp Müller [Fri, 30 Dec 2011 16:18:39 +0000 (16:18 +0000)]
audiocdsrc: update for GstIndex removal
Tim-Philipp Müller [Fri, 30 Dec 2011 16:12:30 +0000 (16:12 +0000)]
audiocdsrc: make private bits private
Edward Hervey [Fri, 30 Dec 2011 12:21:35 +0000 (13:21 +0100)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
ext/theora/gsttheoraenc.c
gst-libs/gst/tag/gstexiftag.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/playback/gstdecodebin2.c
gst/playback/gstsubtitleoverlay.c
tests/check/libs/tag.c
Edward Hervey [Wed, 28 Dec 2011 15:25:37 +0000 (16:25 +0100)]
check/video: Caps have "interlace-mode=progressive" by default