aboutsummaryrefslogtreecommitdiff
path: root/platform/iphone/audio_driver_iphone.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--platform/iphone/audio_driver_iphone.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/platform/iphone/audio_driver_iphone.cpp b/platform/iphone/audio_driver_iphone.cpp
index 611f57dea..c3ba0e694 100644
--- a/platform/iphone/audio_driver_iphone.cpp
+++ b/platform/iphone/audio_driver_iphone.cpp
@@ -101,10 +101,10 @@ OSStatus AudioDriverIphone::output_callback(void *inRefCon,
bool mix = true;
- if (!ad_active)
+ if (!ad->active)
mix = false;
- else {
- mix = mutex->try_lock() == OK;
+ else if (ad->mutex) {
+ mix = ad->mutex->try_lock() == OK;
};
@@ -127,9 +127,9 @@ OSStatus AudioDriverIphone::output_callback(void *inRefCon,
while (frames_left) {
int frames = MIN(frames_left, ad->buffer_frames);
- ad->lock();
+ //ad->lock();
ad->audio_server_process(frames, ad->samples_in);
- ad->unlock();
+ //ad->unlock();
for(int i = 0; i < frames * ad->channels; i++) {
@@ -141,6 +141,9 @@ OSStatus AudioDriverIphone::output_callback(void *inRefCon,
};
};
+ if (ad->mutex)
+ ad->mutex->unlock();
+
return 0;
};