Commit Graph

31 Commits

Author SHA1 Message Date
David Reid 4241b9f6ae Add ma_linear_resampler_set_rate_ratio(). 2020-01-26 11:28:33 +10:00
David Reid ed6ad79e24 Don't use generic seeking with the linear resampler. 2020-01-26 11:24:02 +10:00
David Reid f704b62767 Update resampling documentation. 2020-01-26 11:21:09 +10:00
David Reid 01c41ed329 Add support for passing in NULL for input frames for linear resampler.
This is equivalent to passing in zeroes.
2020-01-26 09:19:24 +10:00
David Reid b092720bf3 Integrate the new linear resampler. 2020-01-26 09:05:50 +10:00
David Reid 13a5512879 Work in progress on the linear resampler. 2020-01-26 08:51:53 +10:00
David Reid 811e438d1b Add support for reinitialization of low-pass and biquad filters. 2020-01-20 19:01:42 +10:00
David Reid 5d0f21448e Remove MA_RESAMPLER_MIN_RATIO and MA_RESAMPLER_MAX_RATIO. 2020-01-19 21:29:43 +10:00
David Reid ad9d1e636b Remove old experimental resampler code. 2020-01-19 21:26:02 +10:00
David Reid a9e7d6d8c9 Add some documentation for the new resampler.
This commit also renames ma_resampler_process() to
ma_resampler_process_pcm_frames().
2020-01-19 21:23:57 +10:00
David Reid b770ea91d5 Add generic seeking to the resampler. 2020-01-19 19:18:43 +10:00
David Reid 867e1ee7e4 SRC: Implement ma_speex_resampler_get_expected_output_frame_count(). 2020-01-19 17:47:22 +10:00
David Reid f7ff9ee19e SRC: Fix linear ma_resampler_get_expected_output_frame_count(). 2020-01-19 17:24:20 +10:00
David Reid 959885a303 SRC/Speex: Add support for querying required input frame counts. 2020-01-19 14:23:35 +10:00
David Reid 3e8f261c6f Minor restructuring in preparation for some Speex work. 2020-01-19 11:27:58 +10:00
David Reid 6894d10d78 Warning fixes. 2020-01-19 11:18:22 +10:00
David Reid 31086c5de9 Fix bugs in ma_resampler_get_required_input_frame_count(). 2020-01-19 11:12:35 +10:00
David Reid 5df3c0ce15 SRC: Add APIs for querying required input and expected output frames.
* ma_resampler_get_required_input_frame_count()
  * ma_resampler_get_expected_output_frame_count()

These have not yet been implemented for the Speex backend.

This commit also adds an APIs for setting changing the rate:

  * ma_resampler_set_rate()
  * ma_resampler_set_rate_ratio()
2020-01-19 08:15:47 +10:00
David Reid 8fabcc44d8 Add support for passing in null for the input buffer to the resampler. 2020-01-18 18:44:35 +10:00
David Reid 6817dc84f8 Rearrange some function parameters. 2020-01-18 17:46:51 +10:00
David Reid f22ad84986 Add ma_resampler_uninit(). 2020-01-18 17:37:55 +10:00
David Reid 705e54c69a Add support for s16 format to the linear resampler. 2020-01-18 17:12:30 +10:00
David Reid 1449edf49f Add support for the Speex resampler. 2020-01-18 16:38:22 +10:00
David Reid 7d37789418 Resampling and LPF work. 2020-01-18 14:36:12 +10:00
David Reid 11d752ad78 Untested work in progress on the improved resampler. 2020-01-14 21:50:01 +10:00
David Reid 2b526f6945 Add experimental code for biquad and low-pass filters. 2020-01-09 11:27:57 +10:00
David Reid e8e048c965 Random resampler WIP experiments. 2019-12-01 08:45:22 +10:00
David Reid 98792caeaa Resampling testing. 2019-10-19 07:40:46 +10:00
David Reid 3e825396c1 Random resampler work. 2019-08-17 11:01:53 +10:00
David Reid d289e5cf6f Sketch out an API idea for the new resampler. 2019-05-09 19:10:28 +10:00
David Reid ceb81f60e4 Rename files from "mal" to "ma". 2019-03-06 21:01:51 +10:00