diff options
author | Ryan Hileman <[email protected]> | 2021-06-16 05:33:22 -0700 |
---|---|---|
committer | Matthew Gregan <[email protected]> | 2021-07-06 17:32:01 +1200 |
commit | cf7636f17c1847937f1c35be890bab45188d6eaa (patch) | |
tree | d71215b620828e26a4fd93bfb4b48b5cb400ba58 | |
parent | 275de804d1abea9136d6e86eda54344293c08c09 (diff) | |
download | cubeb-cf7636f17c1847937f1c35be890bab45188d6eaa.tar.gz cubeb-cf7636f17c1847937f1c35be890bab45188d6eaa.zip |
don't run resampler unless we have enough frames
(fixes #647)
-rw-r--r-- | src/cubeb_resampler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cubeb_resampler.cpp b/src/cubeb_resampler.cpp index 29ad736..b7bddfe 100644 --- a/src/cubeb_resampler.cpp +++ b/src/cubeb_resampler.cpp @@ -222,6 +222,12 @@ cubeb_resampler_speex<T, InputProcessor, OutputProcessor> * callback. */ input_processor->input(input_buffer, *input_frames_count); + /* resampled_frame_count == 0 happens if the resampler + * doesn't have enough input frames buffered to produce 1 resampled frame. */ + if (resampled_frame_count == 0) { + return *input_frames_count; + } + size_t frames_resampled = 0; resampled_input = input_processor->output(resampled_frame_count, &frames_resampled); *input_frames_count = frames_resampled; |