summaryrefslogtreecommitdiff
path: root/gst/interleave
Commit message (Collapse)AuthorAgeFilesLines
* interleave: allow per feature registrationStéphane Cerveau2021-03-294-10/+19
| | | | | | | | | | | | | Split plugin into features including dynamic types which can be indiviually registered during a static build. More details here: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
* Remove autotools build systemTim-Philipp Müller2019-10-141-9/+0
|
* documentation: fix a number of typosAaron Boxer2019-10-051-3/+3
|
* doc: Port documentation to hotdocThibault Saunier2019-05-131-0/+1
|
* docs: Port all docstring to gtk-doc markdownThibault Saunier2019-05-132-16/+16
|
* deinterleave: Allow switching between 1 channel configsVincent Penquerc'h2019-01-281-3/+13
| | | | | regardless of whether they're positioned, since positioning with a 1 channel stream doesn't change anything.
* Meson: Generate pc file for all plugins in goodXavier Claessens2018-04-251-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=794568
* interleave: fix memory leak of GAP buffersPhilippe Normand2018-01-311-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=793067
* Remove plugin specific static build optionNicolas Dufresne2017-05-161-1/+0
| | | | | Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
* interleave: avoid using uninitialised ordering_mapDouglas Bagnall2017-03-312-8/+11
| | | | | | | | | | If self->channel_positions == NULL (which seems unlikely), self->default_channels_ordering_map will be used unintialised. We avoid that by keeping track of the channel_mask, which is set when the ordering map is initialised. https://bugzilla.gnome.org/show_bug.cgi?id=780331
* interleave: don't overflow channel map with >64 channelsDouglas Bagnall2017-03-311-4/+7
| | | | | | | | When there are more than 64 channels, we don't want to exceed the bounds of the ordering_map buffer, and in these cases we don't want to rempa at all. Here we avoid doing that. https://bugzilla.gnome.org/show_bug.cgi?id=780331
* deinterleave: Reset caps accumulator to ANY when resyncing the adapter, not ↵Sebastian Dröge2016-11-141-1/+1
| | | | | | | | | | | EMPTY The accumulator is filled by intersecting with all the pad caps, as such it must be initialized with ANY (like it is before the iteration is started) and not to EMPTY. Fixes the CAPS query always returning EMPTY caps when resyncing happened during the query, e.g. because pads were added/removed.
* Add support for Meson as alternative/parallel build systemNirbheek Chauhan2016-08-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/mesonbuild/meson With contributions from: Tim-Philipp Müller <tim@centricular.com> Jussi Pakkanen <jpakkane@gmail.com> (original port) Highlights of the features provided are: * Faster builds on Linux (~40-50% faster) * The ability to build with MSVC on Windows * Generate Visual Studio project files * Generate XCode project files * Much faster builds on Windows (on-par with Linux) * Seriously fast configure and building on embedded ... and many more. For more details see: http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html Building with Meson should work on both Linux and Windows, but may need a few more tweaks on other operating systems.
* deinterleave: Return the current caps on the srcpads on caps queriesSebastian Dröge2016-03-241-1/+14
| | | | | | | | | | It's not like we could accept any other caps here. The caps are decided by the upstream caps event. Also keep the filter order intact when filtering the results against the filter caps. https://bugzilla.gnome.org/show_bug.cgi?id=763326
* good: use new gst_element_class_add_static_pad_template()Vineeth TM2016-03-242-8/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=763076
* deinterleave: Use GstIterator for iterating all pads instead of manually ↵Sebastian Dröge2016-03-171-48/+72
| | | | | | | | | iterating them while holding the object lock all the time Doing queries while holding the object lock is a bit dangerous, and in this case causes deadlocks. https://bugzilla.gnome.org/show_bug.cgi?id=763326
* win32: remove outdated build cruftTim-Philipp Müller2016-02-211-154/+0
| | | | | | This hasn't been touched for generations, doesn't work, and is just causing confusion. We also don't want to maintain these files manually.
* interleave: Fix the example by setting channel-masks in the sink padsAntonio Ospite2016-01-121-4/+7
| | | | | | | | | | | | | | | | | | | | | The current example does not work, it fails with: ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstWavParse:wavparse0: Internal data flow error. gstwavparse.c(2178): gst_wavparse_loop (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstWavParse:wavparse0: streaming task paused, reason not-negotiated (-4) This is because negotiation with wavenc gets messed up by the missing channel positions configuration. The proper way to define the channel layout when using the interleave element in code would be to set the channel-positions property, but gst-launch-1.0 does not know how to deal with arrays; so the example pipeline works around the issue by setting the channel-masks in the sink pads. Also fix a repetition in the deinterleave example description https://bugzilla.gnome.org/show_bug.cgi?id=735673
* interleave: Remove unsed fieldRavi Kiran K N2015-12-091-2/+0
| | | | | | Remove unused field collect_event in interleave. https://bugzilla.gnome.org/show_bug.cgi?id=759226
* deinterleave: implement accept-capsThiago Santos2015-09-301-38/+93
| | | | | | Avoid using default accept-caps handler that will query downstream and is more expensive. Just check if the caps is compatible with the template and check if the channels are the same.
* deinterleave: use the caps query filterThiago Santos2015-09-301-0/+8
| | | | | It was being ignored and would lead to wrong results if the element doing the query would rely on the intersection being made.
* deinterleave: implement a caps query handler for the sinkpadThiago Santos2015-09-301-3/+31
| | | | | It was missing and apparently code relied on having it there for not allowing a change in the number of channels
* deinterleave: fix caps leakThiago Santos2015-09-301-1/+3
| | | | | | Caps from the pad template are being leaked. In any case it is from a static pad template and will 'leak' in the end, just doing the cleanup for the good practice.
* interleave: error when channel-positions-from-input=FalseVineeth TM2015-06-051-7/+6
| | | | | | | | | self->channels is being incremented only when channel-positions-from-input is set as TRUE. So in case of FALSE self->func is not set and hence creating assertion error. Hence removing the condition to increment self->channels. https://bugzilla.gnome.org/show_bug.cgi?id=744211
* Remove obsolete Android build cruftTim-Philipp Müller2015-04-261-14/+0
| | | | This is not needed any longer.
* interleave: Drop custom latency query handlingArun Raghavan2015-02-271-90/+0
| | | | This is implemented by the default query handler now.
* Improve and fix LATENCY query handlingSebastian Dröge2015-02-111-7/+9
| | | | | | | This now follows the design docs everywhere, especially the maximum latency handling. https://bugzilla.gnome.org/show_bug.cgi?id=744106
* interleave: intersect result with filter caps in caps queryTim-Philipp Müller2014-10-251-0/+10
| | | | | | Fixes crash in audiotestsrc because of an unsupported format getting negotiated on big-endian systems with audiotestsrc ! interleave ! audioconvert ! wavenc
* interleave: interleave samples following the Default Channel OrderingAntonio Ospite2014-10-022-3/+29
| | | | | | | | | | | | | | | | | | | | 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
* interleave: set output caps layout to interleavedPhilippe Normand2014-07-291-1/+2
| | | | | | | 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
* interlace: catch failure to create audio info from capsVincent Penquerc'h2014-04-211-4/+22
| | | | Coverity 1139627, 1139628
* interleave: Fix negotiation to work at all againSebastian Dröge2014-04-151-14/+40
| | | | | | | | | | 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.
* interleave: Add missing break in switch statementEdward Hervey2014-04-081-0/+1
| | | | | | The caps query is handled entirely already before. CID #1139757
* deinterleave: Don't hold object lock while sending events downstreamSebastian Dröge2013-07-011-12/+11
| | | | | | Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=703114
* interleave: Send stream-start before caps eventNicolas Dufresne2013-05-131-17/+21
|
* deinterleave: Fix sticky event handlingSebastian Dröge2013-05-131-6/+34
|
* deinterleave: Code style fixesSebastian Dröge2013-05-131-26/+1
|
* gst: Add better support for static pluginsSebastian Dröge2013-04-151-1/+1
|
* interleave: set src pad caps upon last sink pad CAPS eventPhilippe Normand2012-12-182-27/+37
| | | | | | | | 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
* deinterleave: properly set srcpad channel positionPhilippe Normand2012-12-121-1/+1
| | | | | | 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.
* Fix FSF addressTim-Philipp Müller2012-11-046-12/+12
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=687520
* deinterleave: output channels should be marked as MONO, not FRONT_LEFT, ifMichael Smith2012-10-051-1/+1
| | | | we're not preserving input channel positions.
* interleave: use gst_audio_channel_positions_to_mask instead of a local copyMichael Smith2012-10-041-11/+8
| | | | of half of it. Handles some values more correctly.
* meta info: threadsafe registration using g_onceMichael Smith2012-10-031-0/+2
|
* interleave: add a bunch of FIXMEsTim-Philipp Müller2012-09-232-0/+19
| | | | | Needs some more work, so stream-start, caps and tags are sent in the right order.
* collectpads: remove gst_collect_pads_add_pad_fullStefan Sauer2012-09-121-1/+2
| | | | | Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all invocations.
* docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvertTim-Philipp Müller2012-08-272-4/+4
|
* interleave: convert the output segment to timeWim Taymans2012-07-201-1/+40
| | | | | | | | Convert the stored input segment to time before pushing it out. Conflicts: gst/interleave/interleave.c
* interleave: try to fix segment handlingWim Taymans2012-07-202-38/+32
| | | | | | Conflicts: gst/interleave/interleave.c
* deinterleave; downgrade caps change failure debug messageTim-Philipp Müller2012-07-031-1/+3
| | | | | Add some more info and downgrade to warning, so it doesn't look like the unit test failed.