Commit graph

86 commits

Author SHA1 Message Date
Arun Raghavan 0c06553fb2 interleave: Drop custom latency query handling
This is implemented by the default query handler now.
2015-02-27 00:59:43 +05:30
Sebastian Dröge f4b5107796 Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 13:53:02 +01:00
Tim-Philipp Müller 401782c19d interleave: intersect result with filter caps in caps query
Fixes crash in audiotestsrc because of an unsupported format
getting negotiated on big-endian systems with
audiotestsrc ! interleave ! audioconvert ! wavenc
2014-10-25 11:08:48 +01:00
Antonio Ospite 7ae7f657fa interleave: interleave samples following the Default Channel Ordering
In order to have a full mapping between channel positions in the audio
stream and loudspeaker positions, the channel-mask alone is not enough:
the channels must be interleaved following some Default Channel Ordering
as mentioned in the WAVEFORMATEXTENSIBLE[1] specification.

As a Default Channel Ordering use the one implied by
GstAudioChannelPosition which follows the ordering defined in SMPTE
2036-2-2008[2].

NOTE that the relative order in the Top Layer is not exactly the same as
the one from the WAVEFORMATEXTENSIBLE[1] specification; let's hope users
using so may channels are already aware of such discrepancies.

[1] http://msdn.microsoft.com/en-us/library/windows/hardware/dn653308%28v=vs.85%29.aspx
[2] http://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BS.2159-2-2011-PDF-E.pdf

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=737127
2014-10-02 10:21:26 +03:00
Philippe Normand b8b5704445 interleave: set output caps layout to interleaved
Set output caps layout independently from input caps layout which can
be either non-interleaved or interleaved.

https://bugzilla.gnome.org/show_bug.cgi?id=733866
2014-07-29 11:49:32 +02:00
Vincent Penquerc'h e526412afa interlace: catch failure to create audio info from caps
Coverity 1139627, 1139628
2014-04-21 17:21:20 +01:00
Sebastian Dröge b038fd4eff interleave: Fix negotiation to work at all again
The caps query handling function for the sinkpads was called for
the srcpad, and the sinkpads had none. This commit moves it to the
right pad, but nonetheless the negotiation still looks wrong.

This makes the test pass again after the recent coverity fix
and also allows interleave to work again, but someone should
really review the negotiation code and fix it.
2014-04-15 21:36:30 +02:00
Edward Hervey 9859515605 interleave: Add missing break in switch statement
The caps query is handled entirely already before.

CID #1139757
2014-04-08 11:31:06 +02:00
Sebastian Dröge 5f6469fe2a deinterleave: Don't hold object lock while sending events downstream
Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=703114
2013-07-01 11:37:00 +02:00
Nicolas Dufresne f67c227878 interleave: Send stream-start before caps event 2013-05-13 15:37:38 +02:00
Sebastian Dröge 0ab23ef5c9 deinterleave: Fix sticky event handling 2013-05-13 14:54:35 +02:00
Sebastian Dröge c94fbf6206 deinterleave: Code style fixes 2013-05-13 13:55:44 +02:00
Sebastian Dröge b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Philippe Normand 2bd77e1c8a interleave: set src pad caps upon last sink pad CAPS event
Gather caps on all sink pads before setting the src pad caps. This is
specially needed when the audio channel mapping is set on the sink
pads and the element needs to preserve it on its src pad.

https://bugzilla.gnome.org/show_bug.cgi?id=690267
2012-12-18 12:58:43 +01:00
Philippe Normand a8fa9f2b47 deinterleave: properly set srcpad channel position
The src pad caps always describe a single audio channel so only the
first position matters if deinterleave is configured to keep channel
positions in its src pads.
2012-12-12 11:20:56 +00:00
Tim-Philipp Müller 230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Michael Smith 7aed5a4b4b deinterleave: output channels should be marked as MONO, not FRONT_LEFT, if
we're not preserving input channel positions.
2012-10-05 15:12:27 -07:00
Michael Smith 7522cd1595 interleave: use gst_audio_channel_positions_to_mask instead of a local copy
of half of it. Handles some values more correctly.
2012-10-04 15:13:20 -07:00
Michael Smith b04b1b5089 meta info: threadsafe registration using g_once 2012-10-03 10:51:45 -07:00
Tim-Philipp Müller ea7f8a919c interleave: add a bunch of FIXMEs
Needs some more work, so stream-start, caps and tags are
sent in the right order.
2012-09-23 16:33:35 +01:00
Stefan Sauer f874922e1c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02:00
Tim-Philipp Müller 4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Wim Taymans ec7f7264dc interleave: convert the output segment to time
Convert the stored input segment to time before pushing it out.

Conflicts:

	gst/interleave/interleave.c
2012-07-20 16:09:33 +02:00
Wim Taymans 4dfb796527 interleave: try to fix segment handling
Conflicts:

	gst/interleave/interleave.c
2012-07-20 15:54:38 +02:00
Tim-Philipp Müller 42cc0d1e48 deinterleave; downgrade caps change failure debug message
Add some more info and downgrade to warning, so
it doesn't look like the unit test failed.
2012-07-03 19:44:26 +01:00
Wim Taymans 354e35a6ee interleave: fix compilation again 2012-05-09 11:19:10 +02:00
Wim Taymans 01db5dbff0 interleave: handle EOS on all pads
When all pads go to EOS immediately, we are not negotiated and our collected
function is called (without any available data). Handle this case gracefully.

Conflicts:

	gst/interleave/interleave.c
2012-05-01 13:35:56 +02:00
Wim Taymans e0636feff8 interleave: improve debugging 2012-05-01 13:34:32 +02:00
Mark Nauwelaerts 67e168aef4 collectpads2: rename to collectpads 2012-04-17 15:14:27 +02:00
Mark Nauwelaerts 04b4d30f2c misc: chain up to collectpads event handler 2012-04-16 16:37:49 +02:00
Tim-Philipp Müller e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Tim-Philipp Müller fa5edd2680 interleave: make channel-poisitions property a GValueArray again
Or perhaps it should just be a guint64 channel mask, which would
be nicer in C, but more awkward for bindings (even more so since
we can't add a flags type for it, since that only supports guint
size flags). Fixes wavenc unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=669643
2012-04-09 11:13:05 +01:00
Sebastian Dröge aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge 5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Wim Taymans ecaea36c3d update for memory api changes 2012-03-15 13:36:17 +01:00
Mark Nauwelaerts f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Edward Hervey 9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Philippe Normand 4945af5eff interleave: port to 0.11
Port of the interleave element and its unittests.

https://bugzilla.gnome.org/show_bug.cgi?id=669643
2012-02-16 14:40:59 +00:00
Philippe Normand 640be49e21 deinterleave: port to 0.11
Port of the deinterleave element and its unittests. The interleave
element will be ported as part of another patch, hence disabling it
for now.

https://bugzilla.gnome.org/show_bug.cgi?id=668847
2012-02-08 10:40:39 +01:00
Tim-Philipp Müller 7cb9b7ab9d Use new GLib API unconditionally 2012-01-22 23:15:19 +00:00
Sebastian Dröge 93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans 47a1da9076 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-04 10:01:48 +01:00
Vincent Penquerc'h 3135cab5a3 interleave: port to GstCollectPads2 2011-12-14 18:55:36 +00:00
Vincent Penquerc'h c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Stefan Sauer 8643d1caaf collectpads: port API changes 2011-11-17 08:44:45 +01:00
Wim Taymans a19a4a69ae more template fixes 2011-11-04 13:12:37 +01:00
Wim Taymans a95acb7122 make %u in all request pad templates 2011-11-04 11:58:22 +01:00
David Schleef f6c348430e interleave: Work around changes in g_atomic API
See #651514 for details.
2011-06-04 13:49:52 -07:00
Thibault Saunier b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Edward Hervey 6e1c701502 Revert "Check that collectpads exists before removing pad"
This reverts commit 8e6b876e76.

Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00