Освобождение AUParameterTree, вызывающее взаимоблокировку

Я испытываю сбой со следующей трассировкой стека в фоновом потоке:

введите здесь описание изображения

Мое приложение содержит аудиоустройства, выделенные для данного набора аудиофайлов. Когда данный набор аудиофайлов изменяется, любые текущие аудиоустройства освобождаются и создаются новые для нового набора. Периодически, во время освобождения аудиоблоков, произойдет сбой, описанный выше. Кажется, что когда AUParameterTree аудиоустройства освобождается, возникает взаимоблокировка. Кто-нибудь видел такие симптомы раньше? Если да, то что вызывает взаимоблокировку и как ее можно предотвратить?


person hgwhittle    schedule 14.05.2018    source источник


Ответы (1)


Ваши аудиоустройства или аудиограф работают или недавно остановились? Если да, то это может быть частью проблемы.

Поскольку аудиоустройства работают в своем собственном отдельном потоке и требуют времени для слива, вам может потребоваться подождать некоторое время (может быть, 1 или 2 секунды, чтобы быть в безопасности?), прежде чем аудиоустройства или любой из их ресурсов можно будет безопасно освобожден.

person hotpaw2    schedule 14.05.2018