summaryrefslogtreecommitdiff
path: root/libs/backends/coreaudio/coreaudio_backend.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/backends/coreaudio/coreaudio_backend.cc')
-rw-r--r--libs/backends/coreaudio/coreaudio_backend.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/libs/backends/coreaudio/coreaudio_backend.cc b/libs/backends/coreaudio/coreaudio_backend.cc
index 0e978bff71..4c522dcdd9 100644
--- a/libs/backends/coreaudio/coreaudio_backend.cc
+++ b/libs/backends/coreaudio/coreaudio_backend.cc
@@ -1558,6 +1558,12 @@ CoreAudioBackend::process_callback (const uint32_t n_samples, const uint64_t hos
return 1;
}
+ if (_reinit_thread_callback || _main_thread != pthread_self()) {
+ _reinit_thread_callback = false;
+ _main_thread = pthread_self();
+ AudioEngine::thread_init_callback (this);
+ }
+
if (pthread_mutex_trylock (&_process_callback_mutex)) {
// block while devices are added/removed
#ifndef NDEBUG
@@ -1566,13 +1572,6 @@ CoreAudioBackend::process_callback (const uint32_t n_samples, const uint64_t hos
engine.Xrun();
return 1;
}
-
- if (_reinit_thread_callback || _main_thread != pthread_self()) {
- _reinit_thread_callback = false;
- _main_thread = pthread_self();
- AudioEngine::thread_init_callback (this);
- }
-
/* port-connection change */
pre_process();