Commit Graph

1472 Commits

Author SHA1 Message Date
David Reid 4e7d501ea9 Merge branch 'dev' of https://github.com/dr-soft/miniaudio into dev 2019-12-21 16:28:47 +10:00
David Reid ac995ee75f Core Audio: Improvements to iOS.
* 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
2019-12-21 13:22:24 +10:00
David Reid 6c7f6cd3fd Core Audio: Try fixing a compilation error when targeting tvOS and watchOS.
Public issue #108
2019-12-21 10:26:44 +10:00
David Reid c03c12dc9b Core Audio: Try fixing a compilation error on iOS builds.
Public issue #110
2019-12-21 10:03:01 +10:00
David Reid 8bc07a8e36 Fix some integer casting warnings.
Public issue #110
2019-12-21 09:55:00 +10:00
David Reid d6e325dd76 Temporary fix for a warning on Apple platforms.
Public issue #110
2019-12-21 09:52:11 +10:00
David Reid 1c998a57f9 Update release notes. 2019-12-19 18:48:27 +10:00
David Reid 4d249acdee Try fixing some compilation errors when compiling with MinGW.
Public issue #114.
2019-12-19 18:41:11 +10:00
David Reid 3bee97a93c Remove sigvis.
This will be replaced with a more complete solution later.

Public issue #105.
2019-12-12 19:23:32 +10:00
David Reid cd44057a51 Update revision history. 2019-12-07 07:49:56 +10:00
David Reid 8b9d01ad81 Core Audio: Fix deinterleaving bug in capture mode. 2019-12-07 07:47:28 +10:00
David Reid fe90e11a79 Core Audio: Potential fix for incorrect deinterleaving. 2019-12-06 17:17:56 +10:00
David Reid 911bc61df1 Update external decoders. 2019-12-02 19:50:52 +10:00
David Reid c78a11bed6 Implement semaphores in preparation for future work. 2019-12-01 09:36:27 +10:00
David Reid 483d62e35c AAudio: Set the stream error callback in preparation for future work. 2019-12-01 09:03:31 +10:00
David Reid e8e048c965 Random resampler WIP experiments. 2019-12-01 08:45:22 +10:00
David Reid cbbd818dd6 iOS: Try fixing a bug with stereo headphone output. 2019-11-02 10:54:23 +10:00
David Reid f560f4793d iOS: Try adding support for Bluetooth routing. 2019-11-02 10:35:28 +10:00
David Reid 07c26bb9f9 Fix a typo. 2019-10-24 17:53:25 +10:00
David Reid b0b6c6c4e2 Add CONTRIBUTING. 2019-10-23 21:31:39 +10:00
David Reid f1625a02ae Return a more accurate error code from ma_device_init(). 2019-10-22 17:31:20 +10:00
David Reid d7cefd29bc Merge branch 'master' into dev 2019-10-19 07:48:54 +10:00
David Reid 1ca6f80698 Fix some tests.
These compilation errors are a result of the recent change to dr_wav to
add support for allocation callbacks.
2019-10-19 07:46:44 +10:00
David Reid 98792caeaa Resampling testing. 2019-10-19 07:40:46 +10:00
David Reid b69f366793 Update dr_mp3. 2019-10-08 19:46:20 +10:00
David Reid c9a3b0800c Version 0.9.8 2019-10-07 09:11:57 +10:00
David Reid 268abad8d2 Update external libraries. 2019-10-07 08:34:42 +10:00
David Reid 154bb46bab Update dr_wav. 2019-10-07 07:24:03 +10:00
David Reid 25b8d2e47c Merge pull request #98 from mgambrell/master
remove a stray garbage byte (0x10) from the source file which makes visual studio unable to open it sometimes :o
2019-10-04 07:23:19 +00:00
mgambrell 7ead49dba3 remove a stray garbage byte (0x10) from the source file which makes visual studio unable to open it sometimes :o 2019-10-03 17:19:44 -04:00
David Reid 508e9b60a5 WASAPI: Relax low-latency shared mode restrictions.
This change enabled the use of low-latency shared mode if the desired
sample rate matches the native sample rate.
2019-10-03 19:37:31 +10:00
David Reid ff5d4e615e WASAPI: Fix errors with the use of AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM is incompatible in exclusive mode
and low-latency shared mode.
2019-10-03 19:29:44 +10:00
David Reid 3f5aebfadb [WASAPI] Try fixing indefinitely repeating glitches in duplex mode. 2019-10-02 19:21:25 +10:00
David Reid 68ffbb3e07 WASAPI: Try reducing the playback start threshold in duplex mode. 2019-09-30 20:42:18 +10:00
David Reid ed8135610a WASAPI: Fix a wrong-way-around conditional. 2019-09-30 20:31:39 +10:00
David Reid 43bf6a1a97 WASAPI: Properly detect and report overruns in duplex mode. 2019-09-30 20:27:20 +10:00
David Reid a38fe4a042 WASAPI: Correctly handle AUDCLNT_BUFFERFLAGS_SILENT. 2019-09-30 20:21:56 +10:00
David Reid c69b1e48c4 Clarify that changing volume does not change the system volume. 2019-09-29 21:14:39 +10:00
David Reid 9043985ce6 Fix some issues with dithering. 2019-09-29 17:11:27 +10:00
David Reid 6cf6f3f9d8 Possible fix for some atomic exchange errors. 2019-09-29 15:49:16 +10:00
David Reid d1f70beba4 Fix some Clang warnings. 2019-09-29 15:03:14 +10:00
David Reid 0d89891118 Add support for per-device master volume control.
New Device APIs:
  * ma_device_set_master_volume()
  * ma_device_get_master_volume()
  * ma_device_set_master_gain_db()
  * ma_device_get_master_gain_db()

New Helper APIs
  * ma_copy_and_apply_volume_factor_u8()
  * ma_copy_and_apply_volume_factor_s16()
  * ma_copy_and_apply_volume_factor_s24()
  * ma_copy_and_apply_volume_factor_s32()
  * ma_copy_and_apply_volume_factor_f32()
  * ma_apply_volume_factor_u8()
  * ma_apply_volume_factor_s16()
  * ma_apply_volume_factor_s24()
  * ma_apply_volume_factor_s32()
  * ma_apply_volume_factor_f32()
  * ma_copy_and_apply_volume_factor_pcm_frames_u8()
  * ma_copy_and_apply_volume_factor_pcm_frames_s16()
  * ma_copy_and_apply_volume_factor_pcm_frames_s24()
  * ma_copy_and_apply_volume_factor_pcm_frames_s32()
  * ma_copy_and_apply_volume_factor_pcm_frames_f32()
  * ma_copy_and_apply_volume_factor_pcm_frames()
  * ma_apply_volume_factor_pcm_frames_u8()
  * ma_apply_volume_factor_pcm_frames_s16()
  * ma_apply_volume_factor_pcm_frames_s24()
  * ma_apply_volume_factor_pcm_frames_s32()
  * ma_apply_volume_factor_pcm_frames_f32()
  * ma_apply_volume_factor_pcm_frames()
  * ma_factor_to_gain_db()
  * ma_gain_db_to_factor()
2019-09-29 13:45:38 +10:00
David Reid b733bf2530 Add support for clipping.
This only applies when the playback sample format is configured as
ma_format_f32. Clipping is enabled by default and can be disabled by
setting ma_device_config.noClip to true.
2019-09-29 10:07:01 +10:00
David Reid 606ee927da Add information on allowable ranges for sample formats. 2019-09-29 08:47:18 +10:00
David Reid 757a4d617d Improvements to pre-init of the output buffer in the data callback.
This commit makes it well defined as to whether or not the output
buffer passed in to the data callback is initialized to zero or left
undefined. By default it's initialized to zero, but can be changed to
undefined by setting noPreZeroedOutputBuffer in the device config.
2019-09-29 08:46:29 +10:00
David Reid 23319083ce No longer maintaining a list of third party decoders. 2019-09-29 07:29:20 +10:00
David Reid f74ff5fd0e Update dr_flac. 2019-09-29 07:23:06 +10:00
David Reid c26544bafd Fix some full duplex issues for asynchronous backends. 2019-09-28 18:41:37 +10:00
David Reid 39edf6d8ff Core Audio: Fix some issues with full duplex. 2019-09-28 17:26:25 +10:00
David Reid 1860292da6 Merge branch 'dev' of https://github.com/dr-soft/miniaudio into dev 2019-09-28 12:37:18 +10:00