5925ee0b7cc8eeee9918123dd501c547a7def23c
This fixes async callback from CoreAudio via AudioDeviceAddPropertyListener. Apparently in rare cases it can happen that the property listener calls back concurrently with processing on M1 machines using Rosetta. https://pastebin.com/upvc9LTc Thread 44 vs. Thread 32 May also be caused by plugin(s) taking a long time to change buffersize. Processing continues even though the buffersize callback has not yet completed. PS. I have not been able to reproduce this on an Intel machine, even with excessive buffersize changes. However since buffersize changes cannot (usually) happen concurrently with processing, taking the lock is reasonable.
Please see the Ardour web site at https://ardour.org/ for all documentation..
For information on building ardour:
https://ardour.org/development.html
Description
Languages
C++
56.5%
C
39.6%
JavaScript
1.3%
Lua
0.9%
Python
0.6%
Other
0.9%