summaryrefslogtreecommitdiffstats
path: root/gst/interleave/deinterleave.c
AgeCommit message (Collapse)AuthorFilesLines
2008-05-17gst/interleave/deinterleave.*: Queue events until src pads were added and ↵Sebastian Dröge1-0/+92
they can be sent. Otherwise downstream will... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_finalize), (gst_deinterleave_init), (gst_deinterleave_sink_event), (gst_deinterleave_process), (gst_deinterleave_sink_activate_push): * gst/interleave/deinterleave.h: Queue events until src pads were added and they can be sent. Otherwise downstream will never get the first newsegment event.
2008-05-17gst/interleave/deinterleave.c: Always set the channel positions when ↵Sebastian Dröge1-20/+23
gst_audio_get_channel_positions() returns someth... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_sink_setcaps), (gst_deinterleave_getcaps): Always set the channel positions when gst_audio_get_channel_positions() returns something, even if they're not set in the caps. This makes sure that the output channels can be interleaved again correctly in the mono/stereo cases too. Don't ask for the peercaps of the current pad in getcaps() as this might call getcaps() again and deadlock.
2008-05-16gst/interleave/: Add support for all raw audio formats and provide better ↵Sebastian Dröge1-61/+353
negotiation if the caps are changing. Original commit message from CVS: * gst/interleave/Makefile.am: * gst/interleave/deinterleave.c: (deinterleave_24), (gst_deinterleave_finalize), (gst_deinterleave_base_init), (gst_deinterleave_class_init), (gst_deinterleave_init), (gst_deinterleave_add_new_pads), (gst_deinterleave_set_pads_caps), (gst_deinterleave_set_process_function), (gst_deinterleave_sink_setcaps), (__remove_channels), (__set_channels), (gst_deinterleave_getcaps), (gst_deinterleave_process), (gst_deinterleave_chain), (gst_deinterleave_sink_activate_push): * gst/interleave/deinterleave.h: Add support for all raw audio formats and provide better negotiation if the caps are changing. Don't allow changes of the channel positions and set the position of the corresponding channel on the src pad caps. General cleanup and smaller bugfixes. * tests/check/elements/deinterleave.c: (float_buffer_check_probe): Check the channel positions on the output buffer caps.
2008-05-14gst/interleave/: Split definitions into separate header files for better ↵Sebastian Dröge1-66/+67
documentation generation. Original commit message from CVS: * gst/interleave/Makefile.am: * gst/interleave/deinterleave.h: * gst/interleave/interleave.h: * gst/interleave/plugin.h: Split definitions into separate header files for better documentation generation. * gst/interleave/deinterleave.c: (gst_deinterleave_base_init), (gst_deinterleave_class_init), (gst_deinterleave_sink_setcaps), (gst_deinterleave_process): Don't use alloca, allow caps changes as long as the number of channels does not change, don't use g_warning, return NOT_NEGOTIATED as early as possible and some other cleanup. * gst/interleave/interleave.c: (gst_interleave_base_init), (gst_interleave_class_init): Do some random cleanup. * tests/check/Makefile.am: * tests/check/elements/deinterleave.c: (GST_START_TEST), (deinterleave_chain_func), (deinterleave_pad_added), (deinterleave_suite): Add unit tests for the deinterleave element.
2007-09-12gst/: Printf format fixes (#476128).Peter Kjellerstedt1-1/+1
Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst-libs/gst/app/gstappsink.c: * gst/flv/gstflvdemux.c: * gst/flv/gstflvparse.c: * gst/interleave/deinterleave.c: * gst/switch/gstswitch.c: Printf format fixes (#476128).
2007-07-11gst/: Fix build against core CVS.Tim-Philipp Müller1-1/+2
Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_process): * gst/vmnc/vmncdec.c: (vmnc_make_buffer): Fix build against core CVS.
2007-03-24gst/interleave/deinterleave.c: Remove 'channel-positions' field when munging ↵Tim-Philipp Müller1-0/+1
input caps into 1-channel output caps (I... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_sink_setcaps): Remove 'channel-positions' field when munging input caps into 1-channel output caps (I guess technically we should set the position for each channel on the output caps if it's non-NONE, but I'll save that as a task for another day).
2007-03-22gst/interleave/deinterleave.c: Don't leak input buffer in chain function; ↵Tim-Philipp Müller1-28/+26
maintain our own list of source pads - ther... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_add_new_pads), (gst_deinterleave_remove_pads), (gst_deinterleave_process), (gst_deinterleave_chain): Don't leak input buffer in chain function; maintain our own list of source pads - there are no guarantees about the order of the list in the GstElement struct, and we want a very specific order; lastly, some more debugging.
2007-01-13gst/interleave/deinterleave.c (gst_deinterleave_add_new_pads): Use fixed ↵Andy Wingo1-5/+11
caps on src pads. Original commit message from CVS: 2007-01-13 Andy Wingo <wingo@pobox.com> * gst/interleave/deinterleave.c (gst_deinterleave_add_new_pads): Use fixed caps on src pads. (gst_deinterleave_remove_pads): Remove src pads, not sink pads. I seem to have reverse midas disease! (gst_deinterleave_process): Proxy timestamps, offsets, durations, and set caps on outgoing buffers. Fixes #395597, I think.
2007-01-07New elements interleave and deinterleave, implement channel interleaving and ↵Andy Wingo1-0/+337
deinterleaving. Original commit message from CVS: 2007-01-07 Andy Wingo <wingo@pobox.com> * configure.ac: * gst/interleave/Makefile.am: * gst/interleave/plugin.h: * gst/interleave/plugin.c: * gst/interleave/interleave.c: * gst/interleave/deinterleave.c: New elements interleave and deinterleave, implement channel interleaving and deinterleaving. The interleaver can operate in pull or push mode but the deinterleaver is more like a demuxer and can only operate in push mode.