I was playing around with iOS simulators and JUCE 8.0.7 (Master) and immediately hit this:
// If you hit this assertion please contact the JUCE team and let us
// know the iOS version/device and audio device that you're using
jassert (bufferSize == (int) numFrames);
aka JUCE Assertion failure in juce_Audio_ios.cpp:1076
As mentioned this was with iOS18.5 simulator using iPhone 13 and 16 simulated devices.
The issue does not present with JUCE 8.0.6 (Master).
Hope this helps - let me know if there’s anything I can do at my end.
Thanks! is this happening while changing buffer size? what are the values of bufferSize and numFrames? does it get continuously hit or does it correct itself eventually?
First 8.0.6 Master:
Taking a look a this again, although the iOS simulator works with JUCE 8.0.6 Master this looks concerning
AudioHardware-mac-imp.cpp:2706 AudioDeviceStop: no device with given ID
HALSystem.cpp:2170 AudioObjectPropertiesChanged: no such object
further more there is a stream of this
Input data proc returned inconsistent 1 packets for 1880 bytes; at 4 bytes per packet, that is actually 470 packets
I dont get that on physical devices – I’m wondering if thats a clue.
Next 8.0.7 Master:
Moving back to JUCE 8.0.7 Master I stuck a DBG line ahead of the assertion and got this, and only once on start up. The crash condition was immediate. bufferSize: 128 vs numFrames: 512
Finally removing the jassert in 8.0.7 Master
Commenting out jassert (bufferSize == (int) numFrames); line lead to a continuous stream of my DBG suggesting that yes it does continuously get hit, and does not self-correct.
I hope this helps. Please let me know if I can doing anything else at my end. For now it’s back to 8.0.6 for me!
We’ve pushed a few changes to the develop branch. The most significant change is that the CallbackMaxSizeEnforcer has moved from the StandalonePluginWrapper to the AudioDeviceManager:
This means that every audio device that is accessed through the AudioDeviceManager should have the max buffer size properly enforced. This includes the iOS audio device.
I hope that this change will resolve the issues you’ve been seeing. Please let us know if you’re still experiencing problems after updating.