summaryrefslogtreecommitdiff
path: root/gst/audioresample
Commit message (Collapse)AuthorAgeFilesLines
* audioresample: allow per feature registrationStéphane Cerveau2021-03-292-10/+6
| | | | | | | | | | | | | 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-base/-/merge_requests/1089>
* audioresample: Respect buffer layout when drainJeongki Kim2021-02-221-4/+13
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1045>
* videorate/videoscale/audioresample: Ensure that the caps returned from ↵Sebastian Dröge2020-08-261-1/+1
| | | | | | | | | | fixate_caps() are actually fixated If there is some other field than the ones we care about left and not fixated yet then basetransform will just error out. So instead just pass the result through gst_caps_fixate() in the very end. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/799>
* audio: video: Optimize by using cached quark for meta tagHavard Graff2020-06-271-2/+7
| | | | | | Avoid taking the global quark lock for every single buffer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/295>
* plugins: uddate gst_type_mark_as_plugin_api() callsMathieu Duponchelle2020-06-061-3/+4
|
* plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin typesMathieu Duponchelle2020-06-031-0/+4
|
* audioresample: Drain resampler on discontinuitiesSebastian Dröge2020-05-271-0/+5
| | | | | | | Otherwise we would lose the last few samples when resetting the resampler. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
* audioresample: Drain resampler and reset timestamp tracking on stream-start ↵Sebastian Dröge2020-05-271-8/+2
| | | | | | | | | event too And also reset timestamp tracking on EOS events as more data might come afterwards with a new stream-start event. This keeps the code the same. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
* audioresample: Drain the resampler and reset timestamp tracking on caps changesSebastian Dröge2020-05-271-1/+24
| | | | | | | | | | | | | | | | | | Especially when changing the sample rate our timestamp tracking will be completely off, but even otherwise we would usually lose the last few samples if we don't drain here as the resampler gets reset if anything but the sample rate changes. This is usually not a problem as the first buffer after a caps event usually has the discont flag set, but can cause problems if - the caps event is followed by a segment event, which then causes draining according to the new sample rate - the caps were changed because of rengotiation due to a reconfigure event and there is not discontinuity from upstream In both cases we would output buffers with completely wrong timestamps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
* audioresample: Use G_DECLARE_FINAL_TYPENiels De Graef2020-03-161-19/+3
|
* Remove autotools build systemTim-Philipp Müller2019-10-131-22/+0
|
* Pass the code through codespellThibault Saunier2019-08-301-1/+1
|
* doc: Port to hotdocThibault Saunier2019-05-131-0/+1
|
* Removed unused GST_CAT_PERFORMANCEJohan Bjäreholt2018-09-191-3/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=797175
* audioresample: implement support for non-interleaved buffersGeorge Kiagiadakis2018-07-111-31/+33
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=705986
* Meson: Generate pc file for all plugins in baseXavier Claessens2018-04-251-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=794568
* 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.
* docs: Convert gtkdoc comments to markdownThibault Saunier2017-03-101-4/+5
| | | | | | Modernizing the documentation, making it simpler to read an modify and allowing us to possibly switch to hotdoc in the future.
* Add support for Meson as alternative/parallel build systemNirbheek Chauhan2016-08-201-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* audioresample: after a reset, recalculate the ouput sizeWim Taymans2016-07-191-0/+8
| | | | | | | After we reset the resampler, there is no history anymore in the resampler and the previously calculated output size is no longer valid. Recalculate the new output size after a reset to make sure we don't try to convert too much.
* audioresample: remove last ORC remainsWim Taymans2016-03-283-364/+2
|
* audio-resampler: improve filter constructionWim Taymans2016-03-282-3/+40
| | | | | | | | Remove some unused variables from the inner product functions. Make filter coefficients by interpolating if required. Rename some fields. Try hard to not recalculate filters when just chaging the rate. Add more proprties to audioresample.
* audio-resampler: add reset functionWim Taymans2016-03-281-44/+17
| | | | | | Add a function to reset the audio-resampler. Use new function in audio-converter Use the new functions in gstaudioresample and fixup drain functions.
* audio-resampler: handle filter length changesWim Taymans2016-03-281-13/+11
| | | | | Update the buffer with history samples when the filter length changes because of an update of the parameters or sample rates.
* audio-converter: make some optimized functionsWim Taymans2016-03-281-39/+6
| | | | | Make an optimized function that just calls the resampler when possible. Optimize the resampler transform_size function a little.
* audio-converter: simplify APIWim Taymans2016-03-281-45/+33
| | | | | | | | | Remove the consumed/produced output fields from the resampler and converter. Let the caler specify the right number of input/output samples so we can be more optimal. Use just one function to update the converter configuration. Simplify some things internally. Make it possible to use writable input as temp space in audioconvert.
* audio-converter: more work on resamplingWim Taymans2016-03-282-195/+46
| | | | | - Fix the resampler in the audio converter - fix memory leaks
* audio-converter: add resamplerWim Taymans2016-03-2817-4533/+204
| | | | | Add a resampler to the processing chain when needed. port the audio resampler to the new audioconverter library
* base: use new gst_element_class_add_static_pad_template()Vineeth TM2016-03-241-4/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=763075
* resample: avoid overflowsWim Taymans2016-02-111-3/+4
| | | | | | | Avoid overflow in rate calculation. This can cause the resampler to start on the wrong phase after a rate change. Avoid overflow in cubic fraction calculation. This can cause noise when dealing with higher samplerates.
* resample: fix double interpolation sse codeWim Taymans2016-02-111-6/+6
| | | | | We were only reading 2 filter taps and we need to read 4 to do cubic interpolation.
* audioresample: Clip input buffers to the segment before handling themSebastian Dröge2015-11-021-0/+23
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=757068
* audioresample: Also copy metas if their API has no tags attached to itSebastian Dröge2015-06-291-3/+3
| | | | | This is the default basetransform behaviour, being more strict than that is not really useful.
* audioresample: copy metadata that only has the "audio" tag.Mathieu Duponchelle2015-06-041-0/+21
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=750406
* docs: update element example pipelinesTim-Philipp Müller2015-05-101-2/+3
| | | | | | - gst-launch -> gst-launch-1.0 - use autoaudiosink and audiovideosink more often - review pipeline examples and descriptions
* Remove obsolete Android build cruftTim-Philipp Müller2015-04-261-14/+0
| | | | This is not needed any longer.
* Constify some static arrays everywhereSebastian Dröge2015-01-212-7/+7
|
* audioresample: Try to prevent endless loopingJan Alexander Steffens (heftig)2015-01-191-0/+4
| | | | | | | | | | | | | | Speex may decide not to consume any samples because it can't write any. I've seen a hang during draining caused by the resample loop never terminating. In that case, resampling happened as normal until olen was 0 but ilen was still 1. _process_native then reduced ichunk to 0, so ilen never decreased below 1 and the loop never terminated. Instead of reverting 684cf44 ({audioresample: don't skip input samples), break only if all output samples have been produced and speex refuses to consume any more input samples. https://bugzilla.gnome.org/show_bug.cgi?id=732908
* audioresample: remove unused variablesPeter G. Baum2014-10-071-3/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=738026
* audioresample: don't skip input samplesKipp Cannon2014-09-051-2/+2
| | | | | | | | | | | | | | | | | when downsampling, the output buffer can be filled before all the input samples are consumed. this is correct: when downsampling, several input samples are needed for each output sample, so when only a small number of input samples are available the number of output samples produced can be 0. the resampler, however, was discarding those extra input samples instead of clocking them into its filter history for the next iteration. this patch fixes this by removing the check that the output buffer is full. the code now always loops until all input samples are consumed, and relies on the calling code to have provided a suitably sized location for the output. note that there are already other checks in place in the calling code to ensure that this is the case. https://bugzilla.gnome.org/show_bug.cgi?id=732908
* audioresample: Don't left-shift into the sign bit, instead use unsigned integersSebastian Dröge2014-04-221-1/+1
|
* audioresample: Fix up indentionSebastian Dröge2014-04-152-41/+47
|
* audioresample: Fix out of bounds memory accessesSebastian Dröge2014-04-151-64/+113
|
* audioresample: reject 0 denominator when creating resamplerVincent Penquerc'h2014-04-101-0/+5
| | | | Coverity 1195140, 1195139, 1195138
* audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2Sebastian Dröge2014-01-201-1/+1
|
* audioresample: Fix build on x86 if emmintrin.h is available but can't be usedAntoine Jacoutot2014-01-201-2/+2
| | | | | | | On i386, EMMINTRIN is defined but not usable without SSE so check for __SSE__ and __SSE2__ as well. https://bugzilla.gnome.org/show_bug.cgi?id=670690
* audioresample: make explicit that neon is disabled and whyTim-Philipp Müller2013-07-031-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=703477
* audioresample: disable 16-bit integer NEON supportCarlos Rafael Giani2013-07-031-1/+0
| | | | | | | it seems to be broken (produces no audio), plus the performance gain is small Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
* gst: Add better support for static pluginsSebastian Dröge2013-04-151-1/+1
|
* Fix FSF addressTim-Philipp Müller2012-11-036-12/+12
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=687520