Index: webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.mm |
diff --git a/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m b/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.mm |
similarity index 91% |
rename from webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m |
rename to webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.mm |
index d2d04835499fe9ee990f546ddda01cc787d5cf39..ea6200270ce0dc56387b6f1b0f6115c4a63568f6 100644 |
--- a/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m |
+++ b/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.mm |
@@ -13,6 +13,7 @@ |
#import "WebRTC/RTCDispatcher.h" |
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h" |
+#include "webrtc/modules/utility/include/helpers_ios.h" |
tkchin_webrtc
2016/06/24 00:30:48
Let's avoid using this file. I want to move helper
|
// Try to use mono to save resources. Also avoids channel format conversion |
// in the I/O audio unit. Initial tests have shown that it is possible to use |
@@ -44,6 +45,10 @@ const double kRTCAudioSessionLowComplexitySampleRate = 16000.0; |
// sequence without bursts of callbacks back to back. |
const double kRTCAudioSessionHighPerformanceIOBufferDuration = 0.01; |
+// Use a larger buffer size on iphone 4S to allow it running complex tasks |
+// e.g., encoding large frames with Opus codec. |
+const double kRTCAudioSessionHighPerformanceIOBufferDurationIphone4s = 0.02; |
+ |
// Use a larger buffer size on devices with only one core (e.g. iPhone 4). |
// It will result in a lower CPU consumption at the cost of a larger latency. |
// The size of 60ms is based on instrumentation that shows a significant |
@@ -84,7 +89,12 @@ static RTCAudioSessionConfiguration *gWebRTCConfiguration = nil; |
// core. |
if (processorCount > 1) { |
_sampleRate = kRTCAudioSessionHighPerformanceSampleRate; |
- _ioBufferDuration = kRTCAudioSessionHighPerformanceIOBufferDuration; |
+ if (webrtc::ios::GetDeviceName() == "iPhone 4S") { |
tkchin_webrtc
2016/06/24 00:30:48
Wouldn't use strings like this. We should enumerat
|
+ _ioBufferDuration = |
+ kRTCAudioSessionHighPerformanceIOBufferDurationIphone4s; |
+ } else { |
+ _ioBufferDuration = kRTCAudioSessionHighPerformanceIOBufferDuration; |
+ } |
} else { |
_sampleRate = kRTCAudioSessionLowComplexitySampleRate; |
_ioBufferDuration = kRTCAudioSessionLowComplexityIOBufferDuration; |