Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumblekit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/MKAudio.m')
-rw-r--r--src/MKAudio.m22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/MKAudio.m b/src/MKAudio.m
index 83360a9..c4de70b 100644
--- a/src/MKAudio.m
+++ b/src/MKAudio.m
@@ -281,6 +281,20 @@ static void MKAudio_UpdateAudioSessionSettings(MKAudio *audio) {
return audio;
}
+- (void) setDelegate:(id<MKAudioDelegate>)delegate {
+ @synchronized(self) {
+ _delegate = delegate;
+ }
+}
+
+- (id<MKAudioDelegate>) delegate {
+ id<MKAudioDelegate> delegate;
+ @synchronized(self) {
+ delegate = _delegate;
+ }
+ return delegate;
+}
+
// Read the current audio engine settings
- (void) readAudioSettings:(MKAudioSettings *)settings {
if (settings == NULL)
@@ -300,9 +314,13 @@ static void MKAudio_UpdateAudioSessionSettings(MKAudio *audio) {
// Should audio be running?
- (BOOL) _audioShouldBeRunning {
+ id<MKAudioDelegate> delegate;
+ @synchronized(self) {
+ delegate = _delegate;
+ }
// If a delegate is provided, we should call that.
- if ([(id)_delegate respondsToSelector:@selector(audioShouldBeRunning:)]) {
- return [_delegate audioShouldBeRunning:self];
+ if ([(id)delegate respondsToSelector:@selector(audioShouldBeRunning:)]) {
+ return [delegate audioShouldBeRunning:self];
}
// If no delegate is available, or the audioShouldBeRunning: