Index: webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm |
diff --git a/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm b/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm |
index 7b0bb586396860bd558aa48073c5db52d4d1feb0..83320b62f08d52a5f4bf5c23a78a30b7d8dcfb54 100644 |
--- a/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm |
+++ b/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm |
@@ -49,7 +49,8 @@ |
} |
} |
- if (self.sampleRate != configuration.sampleRate) { |
+ // self.sampleRate is accurate only if the audio session is active. |
+ if (!self.isActive || self.sampleRate != configuration.sampleRate) { |
NSError *sampleRateError = nil; |
if (![self setPreferredSampleRate:configuration.sampleRate |
error:&sampleRateError]) { |
@@ -59,7 +60,9 @@ |
} |
} |
- if (self.IOBufferDuration != configuration.ioBufferDuration) { |
+ // self.IOBufferDuration is accurate only if the audio session is active. |
+ if (!self.isActive || |
+ self.IOBufferDuration != configuration.ioBufferDuration) { |
NSError *bufferDurationError = nil; |
if (![self setPreferredIOBufferDuration:configuration.ioBufferDuration |
error:&bufferDurationError]) { |