Commit Graph

2762 Commits

Author SHA1 Message Date
David Reid aae9a16cc3 Move some functions over to the main library. 2021-07-17 16:54:39 +10:00
David Reid 42d82c98cd API CHANGE: Remove ma_clip_pcm_frames_f32(). 2021-07-17 16:47:11 +10:00
David Reid 8ddac00d5c Move some clipping functions into the main library. 2021-07-17 16:46:30 +10:00
David Reid 9fa4d9ea7f Move ma_slot_allocator into the main library. 2021-07-17 16:38:06 +10:00
David Reid 711854647a Move ma_fence into the main library. 2021-07-17 16:32:27 +10:00
David Reid cc2b148598 Add support for configuring the size of the job queue.
This commit also decouples the job queue from the resource manager
which will make it easier to use in other areas if it ever comes up.
2021-07-17 14:47:30 +10:00
David Reid 0dc3e013f3 Fix a bug in ma_calculate_frame_count_after_resampling(). 2021-07-17 13:36:32 +10:00
David Reid 49599adcaf Decouple the slot allocator from the resource manager. 2021-07-17 13:27:54 +10:00
David Reid 503670532d Properly namespace some tokens. 2021-07-17 12:38:38 +10:00
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