David Reid
02bf2a9e5a
API CHANGE: Update ma_encoder_write_pcm_frames().
...
This updates ma_encoder_write_pcm_frames() to be consistent with
reading, where a result code is returned, and the number of frames
written is returned via an output parameter.
2021-07-18 10:41:04 +10:00
David Reid
7b65f3748a
Add some safety checks to data sources.
...
With this change, an error is now returned when the requested frame
count is zero. Two reasons for this:
1) It usually means there's an error in the higher level logic if
something is trying to read zero frames.
2) When no frames are read, MA_AT_END should be returned. However, if
the input frame count is also zero, it creates ambiguity as to
whether or not the data source is truly at the end.
2021-07-18 10:35:34 +10:00
David Reid
d7d8520c82
Merge branch 'dev-0.11' of https://github.com/mackron/miniaudio into dev-0.11
2021-07-18 09:45:32 +10:00
David Reid
cfb7020ae8
Add a null check to ma_free().
2021-07-18 09:45:14 +10:00
David Reid
1b42dbb10e
Move the engine API into the main library.
2021-07-18 08:00:17 +10:00
David Reid
b19f403ac2
Move the node graph into the main library.
2021-07-18 07:47:59 +10:00
David Reid
fa2fc03e1f
Move a compile time option into the implementation section.
2021-07-17 22:12:48 +10:00
David Reid
5b574e652b
Move resource manager into the main library.
2021-07-17 22:06:44 +10:00
David Reid
6effc9863a
Move async notifications into the main library.
2021-07-17 21:04:08 +10:00
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
0dc3e013f3
Fix a bug in ma_calculate_frame_count_after_resampling().
2021-07-17 13:36:32 +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
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
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
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
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