summaryrefslogtreecommitdiff
path: root/gst/audioresample
AgeCommit message (Collapse)AuthorFilesLines
2021-03-29audioresample: allow per feature registrationStéphane Cerveau2-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>
2021-02-22audioresample: Respect buffer layout when drainJeongki Kim1-4/+13
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1045>
2020-08-26videorate/videoscale/audioresample: Ensure that the caps returned from ↵Sebastian Dröge1-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>
2020-06-27audio: video: Optimize by using cached quark for meta tagHavard Graff1-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>
2020-06-06plugins: uddate gst_type_mark_as_plugin_api() callsMathieu Duponchelle1-3/+4
2020-06-03plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin typesMathieu Duponchelle1-0/+4
2020-05-27audioresample: Drain resampler on discontinuitiesSebastian Dröge1-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>
2020-05-27audioresample: Drain resampler and reset timestamp tracking on stream-start ↵Sebastian Dröge1-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>
2020-05-27audioresample: Drain the resampler and reset timestamp tracking on caps changesSebastian Dröge1-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>
2020-03-16audioresample: Use G_DECLARE_FINAL_TYPENiels De Graef1-19/+3
2019-10-13Remove autotools build systemTim-Philipp Müller1-22/+0
2019-08-30Pass the code through codespellThibault Saunier1-1/+1
2019-05-13doc: Port to hotdocThibault Saunier1-0/+1
2018-09-19Removed unused GST_CAT_PERFORMANCEJohan Bjäreholt1-3/+0
https://bugzilla.gnome.org/show_bug.cgi?id=797175
2018-07-11audioresample: implement support for non-interleaved buffersGeorge Kiagiadakis1-31/+33
https://bugzilla.gnome.org/show_bug.cgi?id=705986
2018-04-25Meson: Generate pc file for all plugins in baseXavier Claessens1-0/+1
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2017-05-16Remove plugin specific static build optionNicolas Dufresne1-1/+0
Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
2017-03-10docs: Convert gtkdoc comments to markdownThibault Saunier1-4/+5
Modernizing the documentation, making it simpler to read an modify and allowing us to possibly switch to hotdoc in the future.
2016-08-20Add support for Meson as alternative/parallel build systemNirbheek Chauhan1-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.
2016-07-19audioresample: after a reset, recalculate the ouput sizeWim Taymans1-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.
2016-03-28audioresample: remove last ORC remainsWim Taymans3-364/+2
2016-03-28audio-resampler: improve filter constructionWim Taymans2-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.
2016-03-28audio-resampler: add reset functionWim Taymans1-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.
2016-03-28audio-resampler: handle filter length changesWim Taymans1-13/+11
Update the buffer with history samples when the filter length changes because of an update of the parameters or sample rates.
2016-03-28audio-converter: make some optimized functionsWim Taymans1-39/+6
Make an optimized function that just calls the resampler when possible. Optimize the resampler transform_size function a little.
2016-03-28audio-converter: simplify APIWim Taymans1-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.
2016-03-28audio-converter: more work on resamplingWim Taymans2-195/+46
- Fix the resampler in the audio converter - fix memory leaks
2016-03-28audio-converter: add resamplerWim Taymans17-4533/+204
Add a resampler to the processing chain when needed. port the audio resampler to the new audioconverter library
2016-03-24base: use new gst_element_class_add_static_pad_template()Vineeth TM1-4/+4
https://bugzilla.gnome.org/show_bug.cgi?id=763075
2016-02-11resample: avoid overflowsWim Taymans1-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.
2016-02-11resample: fix double interpolation sse codeWim Taymans1-6/+6
We were only reading 2 filter taps and we need to read 4 to do cubic interpolation.
2015-11-02audioresample: Clip input buffers to the segment before handling themSebastian Dröge1-0/+23
https://bugzilla.gnome.org/show_bug.cgi?id=757068
2015-06-29audioresample: Also copy metas if their API has no tags attached to itSebastian Dröge1-3/+3
This is the default basetransform behaviour, being more strict than that is not really useful.
2015-06-04audioresample: copy metadata that only has the "audio" tag.Mathieu Duponchelle1-0/+21
https://bugzilla.gnome.org/show_bug.cgi?id=750406
2015-05-10docs: update element example pipelinesTim-Philipp Müller1-2/+3
- gst-launch -> gst-launch-1.0 - use autoaudiosink and audiovideosink more often - review pipeline examples and descriptions
2015-04-26Remove obsolete Android build cruftTim-Philipp Müller1-14/+0
This is not needed any longer.
2015-01-21Constify some static arrays everywhereSebastian Dröge2-7/+7
2015-01-19audioresample: Try to prevent endless loopingJan Alexander Steffens (heftig)1-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
2014-10-07audioresample: remove unused variablesPeter G. Baum1-3/+0
https://bugzilla.gnome.org/show_bug.cgi?id=738026
2014-09-05audioresample: don't skip input samplesKipp Cannon1-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
2014-04-22audioresample: Don't left-shift into the sign bit, instead use unsigned integersSebastian Dröge1-1/+1
2014-04-15audioresample: Fix up indentionSebastian Dröge2-41/+47
2014-04-15audioresample: Fix out of bounds memory accessesSebastian Dröge1-64/+113
2014-04-10audioresample: reject 0 denominator when creating resamplerVincent Penquerc'h1-0/+5
Coverity 1195140, 1195139, 1195138
2014-01-20audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2Sebastian Dröge1-1/+1
2014-01-20audioresample: Fix build on x86 if emmintrin.h is available but can't be usedAntoine Jacoutot1-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
2013-07-03audioresample: make explicit that neon is disabled and whyTim-Philipp Müller1-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=703477
2013-07-03audioresample: disable 16-bit integer NEON supportCarlos Rafael Giani1-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>
2013-04-15gst: Add better support for static pluginsSebastian Dröge1-1/+1
2012-11-03Fix FSF addressTim-Philipp Müller6-12/+12
https://bugzilla.gnome.org/show_bug.cgi?id=687520