* WASAPI: Fix a bug in duplex mode when the capture and playback devices have different native sample rates.
* WASAPI: Fix a bug in duplex mode when the capture and playback devices have different native sample rates.
* AAudio: Add support for automatic stream routing.
* AAudio: Add support for automatic stream routing.
* iOS: The interruption_began notification now automatically calls `ma_device_stop()`. This allows `ma_device_start()` to work as expected when called from interruption_ended.
* iOS: The interruption_began notification now automatically calls `ma_device_stop()`. This allows `ma_device_start()` to work as expected when called from interruption_ended.
/*HANDLE*/ma_handlehEventPlayback;/* Auto reset. Initialized to signaled. */
/*HANDLE*/ma_handlehEventPlayback;/* Auto reset. Initialized to signaled. */
/*HANDLE*/ma_handlehEventCapture;/* Auto reset. Initialized to unsignaled. */
/*HANDLE*/ma_handlehEventCapture;/* Auto reset. Initialized to unsignaled. */
ma_uint32actualPeriodSizeInFramesPlayback;/* Value from GetBufferSize(). internalPeriodSizeInFrames is not set to the _actual_ buffer size when low-latency shared mode is being used due to the way the IAudioClient3 API works. */
ma_uint32actualBufferSizeInFramesPlayback;/* Value from GetBufferSize(). internalPeriodSizeInFrames is not set to the _actual_ buffer size when low-latency shared mode is being used due to the way the IAudioClient3 API works. */
ma_uint32actualPeriodSizeInFramesCapture;
ma_uint32actualBufferSizeInFramesCapture;
ma_uint32originalPeriodSizeInFrames;
ma_uint32originalPeriodSizeInFrames;
ma_uint32originalPeriodSizeInMilliseconds;
ma_uint32originalPeriodSizeInMilliseconds;
ma_uint32originalPeriods;
ma_uint32originalPeriods;
ma_performance_profileoriginalPerformanceProfile;
ma_performance_profileoriginalPerformanceProfile;
ma_uint32periodSizeInFramesPlayback;
ma_uint32periodSizeInFramesPlayback;
ma_uint32periodSizeInFramesCapture;
ma_uint32periodSizeInFramesCapture;
void*pMappedBufferCapture;
ma_uint32mappedBufferCaptureCap;
ma_uint32mappedBufferCaptureLen;
void*pMappedBufferPlayback;
ma_uint32mappedBufferPlaybackCap;
ma_uint32mappedBufferPlaybackLen;
MA_ATOMIC(4,ma_bool32)isStartedCapture;/* Can be read and written simultaneously across different threads. Must be used atomically, and must be 32-bit. */
MA_ATOMIC(4,ma_bool32)isStartedCapture;/* Can be read and written simultaneously across different threads. Must be used atomically, and must be 32-bit. */
MA_ATOMIC(4,ma_bool32)isStartedPlayback;/* Can be read and written simultaneously across different threads. Must be used atomically, and must be 32-bit. */
MA_ATOMIC(4,ma_bool32)isStartedPlayback;/* Can be read and written simultaneously across different threads. Must be used atomically, and must be 32-bit. */
ma_bool8noAutoConvertSRC;/* When set to true, disables the use of AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM. */
ma_bool8noAutoConvertSRC;/* When set to true, disables the use of AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM. */
...
@@ -4624,6 +4630,11 @@ then be set directly on the structure. Below are the members of the `ma_device_c
...
@@ -4624,6 +4630,11 @@ then be set directly on the structure. Below are the members of the `ma_device_c
AAudio only. Explicitly sets the type of recording your program will be doing. When left
AAudio only. Explicitly sets the type of recording your program will be doing. When left
unset, the input preset will be left unchanged.
unset, the input preset will be left unchanged.
aaudio.noAutoStartAfterReroute
AAudio only. Controls whether or not the device should be automatically restarted after a
stream reroute. When set to false (default) the device will be restarted automatically;
otherwise the device will be stopped.
Once initialized, the device's config is immutable. If you need to change the config you will need to initialize a new device.
Once initialized, the device's config is immutable. If you need to change the config you will need to initialize a new device.