Commit Graph

2753 Commits

Author SHA1 Message Date
David Reid faf3381f49 Update documentation for resource management. 2021-07-17 12:30:01 +10:00
David Reid 71909188f7 Merge branch 'dev' into dev-0.11 2021-07-17 12:25:09 +10:00
David Reid 36779c368b PulseAudio: Enable the stop callback when a stream is suspended.
Public issue https://github.com/mackron/miniaudio/issues/341
2021-07-17 12:19:40 +10:00
David Reid 5dd8fbe9ad Improvements to the main worker thread.
* If starting the backend fails, don't attempt to enter the data loop
  * If stopping the backend fails, don't fire the stop callback.
2021-07-17 12:13:42 +10:00
David Reid 07e56c70cf Core Audio: Try fixing a deadlock when switching devices.
Public issue https://github.com/mackron/miniaudio/issues/344
2021-07-17 11:23:01 +10:00
David Reid af70f1bd5d Update revision history. 2021-07-17 10:29:11 +10:00
David Reid efcaa21981 Core Audio: Fix compilation errors. 2021-07-17 10:26:04 +10:00
David Reid 1982364b89 Minor rearrangement of some code. 2021-07-17 08:29:36 +10:00
David Reid e13f00b336 Standardize some parameter names. 2021-07-16 19:40:33 +10:00
David Reid 9a7b9b8c38 API CHANGE: Remove ma_scale_buffer_size(). 2021-07-16 19:38:30 +10:00
David Reid b8079f2b61 Remove some unnecessary casts. 2021-07-16 19:36:11 +10:00
David Reid 36d74d0111 Move ma_copy_and_apply_volume_factor_per_channel_f32() into main file. 2021-07-16 19:35:24 +10:00
David Reid 7d16721626 Remove unused function. 2021-07-16 19:10:35 +10:00
David Reid 17fe34c105 Remove some old unused code. 2021-07-16 17:46:37 +10:00
David Reid d93eaf22c1 Move ma_paged_audio_buffer into the main library. 2021-07-16 17:38:36 +10:00
David Reid ebdc79ab6a Merge branch 'master' into dev-0.11 2021-07-14 20:47:00 +10:00
David Reid ef55f6741d Merge branch 'dev' 2021-07-14 20:46:50 +10:00
David Reid 0f5cb7829d Version 0.10.38 2021-07-14 20:46:38 +10:00
David Reid 922c95997e PulseAudio: Experimental work on improving the stop callback.
Public issue https://github.com/mackron/miniaudio/issues/341
2021-07-14 18:49:17 +10:00
David Reid 2d63e2347a Update revision history. 2021-07-14 17:33:03 +10:00
David Reid 6040956255 Fix an error where ma_log_level_to_string() is sometimes not compiled.
This was happening because ma_log_level_to_string() was only being
included when MA_DEBUG_OUTPUT is enabled.
2021-07-14 17:26:30 +10:00
David Reid 3a5bfa9f9b Fix some strict C89 issues. 2021-07-14 17:20:49 +10:00
David Reid 1161e47ec7 Merge pull request #343 from Clownacy/dev
Fix `ma_log_postv` not returning anything under certain circumstances
2021-07-14 17:18:14 +10:00
Clownacy f56ea20470 Restructure ma_log_postv to be more consistent
The `__STDC_VERSION__ >= 199901L` and the `_MSC_VER >= 1200` code
had different styles for handling errors, so I've made them match.
2021-07-13 23:35:41 +01:00
Clownacy b65a117132 Fix function not returning anything
MSVC 6 was printing a warning about this.
2021-07-13 23:33:15 +01:00
David Reid 643c9c0860 Add support for disabling denormals on the audio thread.
This is configurable on a per-device basis. Denormals will be disabled
by default.
2021-07-13 20:27:17 +10:00
David Reid b961cdf9be API CHANGE: Standardize decoder read/seek callbacks. 2021-07-11 17:23:39 +10:00
David Reid 7bb96d8a3c Fix a crash when initializing a decoder without a config. 2021-07-11 17:04:29 +10:00
David Reid 56202ced66 Fix a crash when initializing a decoder without a config. 2021-07-11 17:04:07 +10:00
David Reid 655c087651 Avoid some superfluous decoder backend initialization. 2021-07-11 17:01:25 +10:00
David Reid 8d47a9307f Avoid some superfluous decoder backend initialization. 2021-07-11 17:00:56 +10:00
David Reid 7d6320ffe1 Fix bugs with duplex mode introduced with the previous commit. 2021-07-11 16:45:10 +10:00
David Reid 31b692642c Improvements to data conversion.
This makes devices and decoders more robust when the resampler does not
support retrieval of required input frame counts from a given output
frame count, which can happen with custom resamplers.
2021-07-11 15:52:15 +10:00
David Reid ea7b99cfd9 Update the data converter to handle resampling better. 2021-07-11 10:24:38 +10:00
David Reid 3fd7af7274 Fix some issues with resampling in the engine. 2021-07-11 08:49:55 +10:00
David Reid 562b0ffeb3 Updates to the resampler API.
This changes ma_resampler_get_required_input_frame_count() and
ma_resampler_get_expected_output_frame_count() to return a result code
so that MA_NOT_IMPLEMENTED can be checked and an alternative code path
can be run for dealing with caching of data.
2021-07-11 07:29:31 +10:00
David Reid fcb405883d Update ma_calculate_frame_count_after_resampling()
This removes the dependency on the ma_resampler object.
2021-07-11 07:11:26 +10:00
David Reid d8314ba3af Propagate errors from ma_data_source_read_pcm_frames(). 2021-07-10 20:08:30 +10:00
David Reid 3c825d6a55 Fix some bugs introduced with recent changes to the resampler. 2021-07-10 20:00:51 +10:00
David Reid bd53d105d3 Properly propagate errors from ma_decoder_read_pcm_frames(). 2021-07-10 19:15:19 +10:00
David Reid 6dec8c0736 Have ma_decoder_read_pcm_frames() return MA_AT_END. 2021-07-10 18:45:31 +10:00
David Reid 46238b0ea5 Rename ma_device_callback_proc to ma_device_data_proc. 2021-07-10 18:29:09 +10:00
David Reid 3ab413a866 Rename some functions. 2021-07-10 18:26:19 +10:00
David Reid 47cfe17ebd Add support for custom resampling backends.
Public issue https://github.com/mackron/miniaudio/issues/162
2021-07-10 18:23:55 +10:00
David Reid 3dc522e19b Remove the Speex resampler. 2021-07-10 15:54:52 +10:00
David Reid b2ed5ab028 Merge branch 'dev' into dev-0.11 2021-07-10 12:23:20 +10:00
David Reid dcec55f7b8 OpenSL: Fix a bug with setting of stream types and recording presets. 2021-07-10 12:21:42 +10:00
David Reid 66b5ccb577 Update issue template. 2021-07-10 11:58:54 +10:00
David Reid 1b38b6901d Update issue template. 2021-07-10 11:58:17 +10:00
David Reid fff5ad353c Merge branch 'dev' into dev-0.11 2021-07-10 11:57:40 +10:00