Resampling is now done through the ma_resampler API.
Note that with this commit the old sinc resampler has been removed
because it never worked properly and is going to replaced with a better
solution in the future. If you were using ma_src_algorithm_sinc you
should consider using ma_src_algorithm_linear with the linear.lpfCount
config variable set to MA_MAX_RESAMPLER_LPF_FILTERS.
For safety, ma_convert_frames() has an additional parameter called
frameCountOut which is the capacity of the output buffer. In addition,
the frameCountIn parameter has been moved next to the pIn parameter.
ma_convert_frames_ex() has been changed to take a pointer to a
ma_data_converter_config object. This provides more flexibility as to
the input and output formats. In addition, the frameCountOut parameter
has been added which has the same meaning as ma_convert_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()
Automatic stream routing should only be used when the ma_device object
is initialized with a device ID of NULL. When it's non-NULL (i.e. an
explicit device) it should not perform automatic stream routing. It
looks like the WASAPI backend is not respecting this requirements and
is enabling automatic stream routing in all cases.
Public issue #127
* The session category can now be configured via the context config. When
set to ma_ios_session_category_default, it will try PlayAndRecord,
Playback and Record (in that order) until one works. If none work it
leave the category untouched. This will also set the DefaultToSpeaker
option since in most cases an application will want audio to be emitted
from the speaker rather than the receiver. If the application does not
want to change the session category, use ma_ios_session_category_none.
* The session category options can now be configured via the context
config. This maps to the AVAudioSessionCategoryOption flags.
Public issues #101, #113