1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-14 00:14:18 +00:00
Commit graph

19 commits

Author SHA1 Message Date
Anthony Nicholls
5e803ded5f Deprecations: Add ignore deprecation warning macros 2024-11-27 11:07:04 +00:00
reuk
55fb6dbe62
iOS Audio: Ensure current sampleRate and bufferSize are always updated after querying sample rates
The code added in 6f20de5434 was only
executed when no explicit sample rates were set.

Now, the sample rate is always updated after querying available sample
rates and before querying available buffer sizes, so that the buffer
size check is guaranteed to use an up-to-date samplerate value.
2024-11-21 13:42:54 +00:00
reuk
3506d66fae
iOS Audio: Always deactivate device before setting new preferred samplerate
This fixes a bug on iOS 17 running on a 9th gen iPad.

- Set JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES=44100,48000,88200,96000
- Start the DemoRunner.
- Add a breakpoint in AudioDeviceManager::audioDeviceAboutToStartInt().
- In the DemoRunner, change the sample rate to 96000.
- The breakpoint will fire. Observe the value of
  getCurrentBufferSizeSamples().
- Move the breakpoint to audioDeviceIOCallbackInt and continue
  execution.
- The breakpoint will fire. Observe the value of the numSamples
  parameter.

numSamples should always be no larger than the sample count reported in
audioDeviceAboutToStartInt().

Before this change, it was possible for getCurrentBufferSizeSamples() to
return a value smaller than the buffer size of subsequent process
callbacks.

Removing the availability checks and unconditionally
deactivating/reactivating the device seems to fix this issue, and the
correct buffer size is returned immediately when the device is
(re)started.
2024-10-28 11:12:47 +00:00
reuk
6f20de5434
iOS Audio: Reset sample rate to default after querying available rates 2024-10-21 22:36:31 +01:00
reuk
7e73ed7c36
iOS Audio: Use hard-coded set of potential block sizes to avoid slow hardware queries 2024-10-04 14:37:58 +01:00
attila
70c9c5bfdb
iOS Audio: Add waiting mechanism after AVAudioSession setActive: to ensure correct buffer size detection on iOS 18
The waiting is only added on iOS 18 as this is the only platform where
seems to be an asynchronous relationship between
(1) AVAudioSession setActive:
(2) AVAudioSession setPreferredIOBufferDuration:
and (3) AVAudioSession.IOBufferDuration.

The issue is not observable in the iOS 18 emulator.
2024-10-03 17:46:49 +01:00
reuk
d3e254e24f
iOS Audio: Request exactly the desired buffersize, to avoid an issue where iOS 18 fails to apply non-power-of-2 sizes 2024-10-03 17:46:49 +01:00
reuk
6428f43eeb
Platform: Remove compatibility checks for iOS 10 2024-07-02 18:06:28 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Ian Clarkson
e2eb4aec94 macOS/iOS: Fix setting the AirPlay audio session category 2023-10-26 08:51:45 +01:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
90c458d92e Includes: Move some miscellaneous includes into module header and source files 2023-10-09 14:49:18 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
Tom Poole
856aeaeeb1 iOS: Enable AirPlay 2023-09-15 15:48:03 +01:00
Oliver James
7d9cdd3016 Audio: Add AudioWorkgroup support
This allows real-time threads to join an audio workgroup on Apple platforms.
2023-08-30 12:03:47 +01:00
Tom Poole
82f1fd57a4 Fix some compiler warnings 2023-08-29 12:59:09 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
Renamed from modules/juce_audio_devices/native/juce_ios_Audio.cpp (Browse further)