Changeset 211902 in webkit
- Timestamp:
- Feb 8, 2017 2:26:57 PM (7 years ago)
- Location:
- trunk/Source/ThirdParty/libwebrtc
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/libwebrtc/ChangeLog
r211888 r211902 1 2017-02-08 Alex Christensen <achristensen@webkit.org> 2 3 Fix libwebrtc build on iOS simulator 4 https://bugs.webkit.org/show_bug.cgi?id=168017 5 6 Reviewed by Tim Horton. 7 8 * Configurations/libwebrtc.xcconfig: 9 * Configurations/libwebrtcpcrtc.xcconfig: 10 Use $(inherited) 11 * Source/webrtc/modules/audio_device/ios/audio_device_ios.h: 12 * Source/webrtc/modules/audio_device/ios/audio_device_ios.mm: 13 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm: 14 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h: 15 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h: 16 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm: 17 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h: 18 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m: 19 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h: 20 * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm: 21 Renamed RTCAudioSession* to WebRTCAudioSession* so that all ObjC classes in WebCore start with Web prefix. 22 * libwebrtc.xcodeproj/project.pbxproj: 23 Add necessary files. Some iOS-specific files need ARC, 24 and this matches the Build.gn in Source/webrtc/modules/audio_device 25 1 26 2017-02-08 Alex Christensen <achristensen@webkit.org> 2 27 -
trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig
r211888 r211902 14 14 WARNING_CFLAGS = -Wno-exit-time-destructors -Wno-objc-property-no-attribute -Wno-objc-missing-super-calls -Wno-deprecated-declarations; 15 15 16 BASE_PREPROCESSOR_DEFINITIONS = WEBRTC_POSIX WEBRTC_MAC SSL_USE_OPENSSL FEATURE_ENABLE_SSL HAVE_SRTP HAVE_OPENSSL_SSL_H SCTP_PROCESS_LEVEL_LOCKS SCTP_SIMPLE_ALLOCATOR SCTP_USE_OPENSSL_SHA1 __Userspace__ HAVE_SA_LEN HAVE_SCONN_LEN __APPLE_USE_RFC_2292 __Userspace_os_Darwin NON_WINDOWS_DEFINE HAVE_WEBRTC_VIDEO HAVE_WEBRTC_VOICE WEBRTC_INTELLIGIBILITY_ENHANCER=0 WEBRTC_APM_DEBUG_DUMP=0 WEBRTC_NS_FLOAT WEBRTC_CODEC_ILBC WEBRTC_CODEC_OPUS WEBRTC_CODEC_ISAC WEBRTC_CODEC_RED RTC_DISABLE_VP9 RTC_DISABLE_VP8 HAVE_STDINT_H HAVE_STDLIB_H HAVE_UINT64_T OPENSSL HAVE_CONFIG_H WEBRTC_WEBKIT_BUILD HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE HAVE_SCTP;16 GCC_PREPROCESSOR_DEFINITIONS = WEBRTC_POSIX WEBRTC_MAC SSL_USE_OPENSSL FEATURE_ENABLE_SSL HAVE_SRTP HAVE_OPENSSL_SSL_H SCTP_PROCESS_LEVEL_LOCKS SCTP_SIMPLE_ALLOCATOR SCTP_USE_OPENSSL_SHA1 __Userspace__ HAVE_SA_LEN HAVE_SCONN_LEN __APPLE_USE_RFC_2292 __Userspace_os_Darwin NON_WINDOWS_DEFINE HAVE_WEBRTC_VIDEO HAVE_WEBRTC_VOICE WEBRTC_INTELLIGIBILITY_ENHANCER=0 WEBRTC_APM_DEBUG_DUMP=0 WEBRTC_NS_FLOAT WEBRTC_CODEC_ILBC WEBRTC_CODEC_OPUS WEBRTC_CODEC_ISAC WEBRTC_CODEC_RED RTC_DISABLE_VP9 RTC_DISABLE_VP8 HAVE_STDINT_H HAVE_STDLIB_H HAVE_UINT64_T OPENSSL HAVE_CONFIG_H WEBRTC_WEBKIT_BUILD HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE HAVE_SCTP; 17 17 18 GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $( BASE_PREPROCESSOR_DEFINITIONS);19 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $( BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;20 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $( BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;18 GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited); 19 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) WEBRTC_IOS; 20 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS; 21 21 22 22 EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*] = *_sse.cc *_sse2.cc macutils.cc macwindowpicker.cc audio_device_mac.cc; -
trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtcpcrtc.xcconfig
r211888 r211902 14 14 WARNING_CFLAGS = -Wno-exit-time-destructors -Wno-objc-property-no-attribute -Wno-objc-missing-super-calls; 15 15 16 BASE_PREPROCESSOR_DEFINITIONS = WEBRTC_POSIX WEBRTC_MAC SSL_USE_OPENSSL FEATURE_ENABLE_SSL HAVE_SRTP HAVE_OPENSSL_SSL_H SCTP_PROCESS_LEVEL_LOCKS SCTP_SIMPLE_ALLOCATOR SCTP_USE_OPENSSL_SHA1 __Userspace__ HAVE_SA_LEN HAVE_SCONN_LEN __APPLE_USE_RFC_2292 __Userspace_os_Darwin NON_WINDOWS_DEFINE HAVE_WEBRTC_VIDEO HAVE_WEBRTC_VOICE WEBRTC_INTELLIGIBILITY_ENHANCER=0 WEBRTC_APM_DEBUG_DUMP=0 WEBRTC_NS_FLOAT WEBRTC_CODEC_ILBC WEBRTC_CODEC_OPUS WEBRTC_CODEC_ISAC WEBRTC_CODEC_RED RTC_DISABLE_VP9 RTC_DISABLE_VP8 HAVE_STDINT_H HAVE_STDLIB_H HAVE_UINT64_T OPENSSL HAVE_CONFIG_H WEBRTC_WEBKIT_BUILD HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE HAVE_SCTP;16 GCC_PREPROCESSOR_DEFINITIONS = WEBRTC_POSIX WEBRTC_MAC SSL_USE_OPENSSL FEATURE_ENABLE_SSL HAVE_SRTP HAVE_OPENSSL_SSL_H SCTP_PROCESS_LEVEL_LOCKS SCTP_SIMPLE_ALLOCATOR SCTP_USE_OPENSSL_SHA1 __Userspace__ HAVE_SA_LEN HAVE_SCONN_LEN __APPLE_USE_RFC_2292 __Userspace_os_Darwin NON_WINDOWS_DEFINE HAVE_WEBRTC_VIDEO HAVE_WEBRTC_VOICE WEBRTC_INTELLIGIBILITY_ENHANCER=0 WEBRTC_APM_DEBUG_DUMP=0 WEBRTC_NS_FLOAT WEBRTC_CODEC_ILBC WEBRTC_CODEC_OPUS WEBRTC_CODEC_ISAC WEBRTC_CODEC_RED RTC_DISABLE_VP9 RTC_DISABLE_VP8 HAVE_STDINT_H HAVE_STDLIB_H HAVE_UINT64_T OPENSSL HAVE_CONFIG_H WEBRTC_WEBKIT_BUILD HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE HAVE_SCTP; 17 17 18 GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $( BASE_PREPROCESSOR_DEFINITIONS);19 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $( BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;20 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $( BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;18 GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited); 19 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) WEBRTC_IOS; 20 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS; -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h
r210942 r211902 21 21 #include "webrtc/modules/audio_device/ios/voice_processing_audio_unit.h" 22 22 23 RTC_FWD_DECL_OBJC_CLASS( RTCAudioSessionDelegateAdapter);23 RTC_FWD_DECL_OBJC_CLASS(WebRTCAudioSessionDelegateAdapter); 24 24 25 25 namespace webrtc { … … 289 289 290 290 // Audio interruption observer instance. 291 RTCAudioSessionDelegateAdapter* audio_session_observer_;291 WebRTCAudioSessionDelegateAdapter* audio_session_observer_; 292 292 293 293 // Set to true if we've activated the audio session. -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm
r210942 r211902 105 105 thread_ = rtc::Thread::Current(); 106 106 audio_session_observer_ = 107 [[ RTCAudioSessionDelegateAdapter alloc] initWithObserver:this];107 [[WebRTCAudioSessionDelegateAdapter alloc] initWithObserver:this]; 108 108 } 109 109 … … 135 135 // is not called until audio is about to start. However, it makes sense to 136 136 // store the parameters now and then verify at a later stage. 137 RTCAudioSessionConfiguration* config =138 [ RTCAudioSessionConfiguration webRTCConfiguration];137 WebRTCAudioSessionConfiguration* config = 138 [WebRTCAudioSessionConfiguration webRTCConfiguration]; 139 139 playout_parameters_.reset(config.sampleRate, 140 140 config.outputNumberOfChannels); … … 268 268 LOGI() << "SetLoudspeakerStatus(" << enable << ")"; 269 269 270 RTCAudioSession* session = [RTCAudioSession sharedInstance];270 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 271 271 [session lockForConfiguration]; 272 272 NSString* category = session.category; … … 295 295 int32_t AudioDeviceIOS::GetLoudspeakerStatus(bool& enabled) const { 296 296 LOGI() << "GetLoudspeakerStatus"; 297 RTCAudioSession* session = [RTCAudioSession sharedInstance];297 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 298 298 AVAudioSessionCategoryOptions options = session.categoryOptions; 299 299 enabled = options & AVAudioSessionCategoryOptionDefaultToSpeaker; … … 369 369 static_cast<unsigned int>(num_frames)); 370 370 371 RTCAudioSession *session = [RTCAudioSession sharedInstance];371 WebRTCAudioSession *session = [WebRTCAudioSession sharedInstance]; 372 372 RTCLogWarning(@"Session:\n %@", session); 373 373 return result; … … 486 486 is_interrupted_ = false; 487 487 RTCLog(@"Interruption ended. Updating audio unit state."); 488 UpdateAudioUnit([ RTCAudioSession sharedInstance].canPlayOrRecord);488 UpdateAudioUnit([WebRTCAudioSession sharedInstance].canPlayOrRecord); 489 489 } 490 490 … … 492 492 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 493 493 494 RTCAudioSession* session = [RTCAudioSession sharedInstance];494 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 495 495 RTCLog(@"%@", session); 496 496 HandleSampleRateChange(session.sampleRate); … … 522 522 // The audio unit is already initialized or started. 523 523 // Check to see if the sample rate or buffer size has changed. 524 RTCAudioSession* session = [RTCAudioSession sharedInstance];524 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 525 525 const double session_sample_rate = session.sampleRate; 526 526 const NSTimeInterval session_buffer_duration = session.IOBufferDuration; … … 592 592 LOGI() << "SetupAudioBuffersForActiveAudioSession"; 593 593 // Verify the current values once the audio session has been activated. 594 RTCAudioSession* session = [RTCAudioSession sharedInstance];594 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 595 595 double sample_rate = session.sampleRate; 596 596 NSTimeInterval io_buffer_duration = session.IOBufferDuration; … … 601 601 // reinitializing the audio parameters. Most BT headsets only support 8kHz or 602 602 // 16kHz. 603 RTCAudioSessionConfiguration* webRTCConfig =604 [ RTCAudioSessionConfiguration webRTCConfiguration];603 WebRTCAudioSessionConfiguration* webRTCConfig = 604 [WebRTCAudioSessionConfiguration webRTCConfiguration]; 605 605 if (sample_rate != webRTCConfig.sampleRate) { 606 606 LOG(LS_WARNING) << "Unable to set the preferred sample rate"; … … 732 732 RTCLog(@"Starting audio unit for UpdateAudioUnit"); 733 733 // Log session settings before trying to start audio streaming. 734 RTCAudioSession* session = [RTCAudioSession sharedInstance];734 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 735 735 RTCLog(@"%@", session); 736 736 if (!audio_unit_->Start()) { … … 762 762 return; 763 763 } 764 RTCAudioSession* session = [RTCAudioSession sharedInstance];764 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 765 765 [session lockForConfiguration]; 766 766 [session configureWebRTCSession:nil]; … … 777 777 return; 778 778 } 779 RTCAudioSession* session = [RTCAudioSession sharedInstance];779 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 780 780 [session lockForConfiguration]; 781 781 [session unconfigureWebRTCSession:nil]; … … 793 793 } 794 794 795 RTCAudioSession* session = [RTCAudioSession sharedInstance];795 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 796 796 // Subscribe to audio session events. 797 797 [session pushDelegate:audio_session_observer_]; … … 830 830 831 831 // Remove audio session notification observers. 832 RTCAudioSession* session = [RTCAudioSession sharedInstance];832 WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance]; 833 833 [session removeDelegate:audio_session_observer_]; 834 834 -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm
r210942 r211902 15 15 #import "webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h" 16 16 17 @implementation RTCAudioSession (Configuration)17 @implementation WebRTCAudioSession (Configuration) 18 18 19 - (BOOL)setConfiguration:( RTCAudioSessionConfiguration *)configuration19 - (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration 20 20 error:(NSError **)outError { 21 21 return [self setConfiguration:configuration … … 25 25 } 26 26 27 - (BOOL)setConfiguration:( RTCAudioSessionConfiguration *)configuration27 - (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration 28 28 active:(BOOL)active 29 29 error:(NSError **)outError { … … 36 36 #pragma mark - Private 37 37 38 - (BOOL)setConfiguration:( RTCAudioSessionConfiguration *)configuration38 - (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration 39 39 active:(BOOL)active 40 40 shouldSetActive:(BOOL)shouldSetActive -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h
r210942 r211902 15 15 NS_ASSUME_NONNULL_BEGIN 16 16 17 @class RTCAudioSessionConfiguration;17 @class WebRTCAudioSessionConfiguration; 18 18 19 @interface RTCAudioSession ()19 @interface WebRTCAudioSession () 20 20 21 21 /** Number of times setActive:YES has succeeded without a balanced call to … … 43 43 * audio events. 44 44 */ 45 - (void)pushDelegate:(id< RTCAudioSessionDelegate>)delegate;45 - (void)pushDelegate:(id<WebRTCAudioSessionDelegate>)delegate; 46 46 47 /** Signals RTCAudioSession that a WebRTC session is about to begin and47 /** Signals WebRTCAudioSession that a WebRTC session is about to begin and 48 48 * audio configuration is needed. Will configure the audio session for WebRTC 49 49 * if not already configured and if configuration is not delayed. … … 52 52 - (BOOL)beginWebRTCSession:(NSError **)outError; 53 53 54 /** Signals RTCAudioSession that a WebRTC session is about to end and audio54 /** Signals WebRTCAudioSession that a WebRTC session is about to end and audio 55 55 * unconfiguration is needed. Will unconfigure the audio session for WebRTC 56 56 * if this is the last unmatched call and if configuration is not delayed. … … 79 79 // Properties and methods for tests. 80 80 @property(nonatomic, readonly) 81 std::vector<__weak id< RTCAudioSessionDelegate> > delegates;81 std::vector<__weak id<WebRTCAudioSessionDelegate> > delegates; 82 82 83 83 - (void)notifyDidBeginInterruption; -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h
r210942 r211902 22 22 extern NSInteger const kRTCAudioSessionErrorConfiguration; 23 23 24 @class RTCAudioSession;25 @class RTCAudioSessionConfiguration;24 @class WebRTCAudioSession; 25 @class WebRTCAudioSessionConfiguration; 26 26 27 27 // Surfaces AVAudioSession events. WebRTC will listen directly for notifications … … 29 29 // at which point applications can perform additional processing if required. 30 30 RTC_EXPORT 31 @protocol RTCAudioSessionDelegate <NSObject>31 @protocol WebRTCAudioSessionDelegate <NSObject> 32 32 33 33 @optional … … 35 35 * interruption event. 36 36 */ 37 - (void)audioSessionDidBeginInterruption:( RTCAudioSession *)session;37 - (void)audioSessionDidBeginInterruption:(WebRTCAudioSession *)session; 38 38 39 39 /** Called on a system notification thread when AVAudioSession ends an 40 40 * interruption event. 41 41 */ 42 - (void)audioSessionDidEndInterruption:( RTCAudioSession *)session42 - (void)audioSessionDidEndInterruption:(WebRTCAudioSession *)session 43 43 shouldResumeSession:(BOOL)shouldResumeSession; 44 44 … … 46 46 * route. 47 47 */ 48 - (void)audioSessionDidChangeRoute:( RTCAudioSession *)session48 - (void)audioSessionDidChangeRoute:(WebRTCAudioSession *)session 49 49 reason:(AVAudioSessionRouteChangeReason)reason 50 50 previousRoute:(AVAudioSessionRouteDescription *)previousRoute; … … 53 53 * terminates. 54 54 */ 55 - (void)audioSessionMediaServicesWereLost:( RTCAudioSession *)session;55 - (void)audioSessionMediaServicesWereLost:(WebRTCAudioSession *)session; 56 56 57 57 /** Called on a system notification thread when AVAudioSession media server 58 58 * restarts. 59 59 */ 60 - (void)audioSessionMediaServicesWereReset:( RTCAudioSession *)session;60 - (void)audioSessionMediaServicesWereReset:(WebRTCAudioSession *)session; 61 61 62 62 // TODO(tkchin): Maybe handle SilenceSecondaryAudioHintNotification. 63 63 64 - (void)audioSession:( RTCAudioSession *)session64 - (void)audioSession:(WebRTCAudioSession *)session 65 65 didChangeCanPlayOrRecord:(BOOL)canPlayOrRecord; 66 66 … … 68 68 * playback or recording. 69 69 */ 70 - (void)audioSessionDidStartPlayOrRecord:( RTCAudioSession *)session;70 - (void)audioSessionDidStartPlayOrRecord:(WebRTCAudioSession *)session; 71 71 72 72 /** Called on a WebRTC thread when the audio device is notified to stop 73 73 * playback or recording. 74 74 */ 75 - (void)audioSessionDidStopPlayOrRecord:( RTCAudioSession *)session;75 - (void)audioSessionDidStopPlayOrRecord:(WebRTCAudioSession *)session; 76 76 77 77 @end … … 81 81 * WebRTC and the application layer are avoided. 82 82 * 83 * RTCAudioSession also coordinates activation so that the audio session is83 * WebRTCAudioSession also coordinates activation so that the audio session is 84 84 * activated only once. See |setActive:error:|. 85 85 */ 86 86 RTC_EXPORT 87 @interface RTCAudioSession : NSObject87 @interface WebRTCAudioSession : NSObject 88 88 89 89 /** Convenience property to access the AVAudioSession singleton. Callers should … … 97 97 */ 98 98 @property(nonatomic, readonly) BOOL isActive; 99 /** Whether RTCAudioSession is currently locked for configuration. */99 /** Whether WebRTCAudioSession is currently locked for configuration. */ 100 100 @property(nonatomic, readonly) BOOL isLocked; 101 101 … … 155 155 156 156 /** Adds a delegate, which is held weakly. */ 157 - (void)addDelegate:(id< RTCAudioSessionDelegate>)delegate;157 - (void)addDelegate:(id<WebRTCAudioSessionDelegate>)delegate; 158 158 /** Removes an added delegate. */ 159 - (void)removeDelegate:(id< RTCAudioSessionDelegate>)delegate;159 - (void)removeDelegate:(id<WebRTCAudioSessionDelegate>)delegate; 160 160 161 161 /** Request exclusive access to the audio session for configuration. This call … … 203 203 @end 204 204 205 @interface RTCAudioSession (Configuration)205 @interface WebRTCAudioSession (Configuration) 206 206 207 207 /** Applies the configuration to the current session. Attempts to set all … … 210 210 * |lockForConfiguration| must be called first. 211 211 */ 212 - (BOOL)setConfiguration:( RTCAudioSessionConfiguration *)configuration212 - (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration 213 213 error:(NSError **)outError; 214 214 … … 216 216 * |lockForConfiguration| must be called first. 217 217 */ 218 - (BOOL)setConfiguration:( RTCAudioSessionConfiguration *)configuration218 - (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration 219 219 active:(BOOL)active 220 220 error:(NSError **)outError; -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm
r210942 r211902 22 22 #import "webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h" 23 23 24 NSString * const kRTCAudioSessionErrorDomain = @"org.webrtc. RTCAudioSession";24 NSString * const kRTCAudioSessionErrorDomain = @"org.webrtc.WebRTCAudioSession"; 25 25 NSInteger const kRTCAudioSessionErrorLockRequired = -1; 26 26 NSInteger const kRTCAudioSessionErrorConfiguration = -2; … … 29 29 // TODO(tkchin): Consider more granular locking. We're not expecting a lot of 30 30 // lock contention so coarse locks should be fine for now. 31 @implementation RTCAudioSession {31 @implementation WebRTCAudioSession { 32 32 rtc::CriticalSection _crit; 33 33 AVAudioSession *_session; … … 47 47 + (instancetype)sharedInstance { 48 48 static dispatch_once_t onceToken; 49 static RTCAudioSession *sharedInstance = nil;49 static WebRTCAudioSession *sharedInstance = nil; 50 50 dispatch_once(&onceToken, ^{ 51 51 sharedInstance = [[self alloc] init]; … … 97 97 - (NSString *)description { 98 98 NSString *format = 99 @" RTCAudioSession: {\n"99 @"WebRTCAudioSession: {\n" 100 100 " category: %@\n" 101 101 " categoryOptions: %ld\n" … … 167 167 168 168 // TODO(tkchin): Check for duplicates. 169 - (void)addDelegate:(id< RTCAudioSessionDelegate>)delegate {169 - (void)addDelegate:(id<WebRTCAudioSessionDelegate>)delegate { 170 170 if (!delegate) { 171 171 return; … … 177 177 } 178 178 179 - (void)removeDelegate:(id< RTCAudioSessionDelegate>)delegate {179 - (void)removeDelegate:(id<WebRTCAudioSessionDelegate>)delegate { 180 180 if (!delegate) { 181 181 return; … … 564 564 } 565 565 566 - (std::vector<__weak id< RTCAudioSessionDelegate> >)delegates {566 - (std::vector<__weak id<WebRTCAudioSessionDelegate> >)delegates { 567 567 @synchronized(self) { 568 568 // Note: this returns a copy. … … 572 572 573 573 // TODO(tkchin): check for duplicates. 574 - (void)pushDelegate:(id< RTCAudioSessionDelegate>)delegate {574 - (void)pushDelegate:(id<WebRTCAudioSessionDelegate>)delegate { 575 575 @synchronized(self) { 576 576 _delegates.insert(_delegates.begin(), delegate); … … 630 630 if (!self.isLocked) { 631 631 if (outError) { 632 *outError = [ RTCAudioSession lockError];632 *outError = [WebRTCAudioSession lockError]; 633 633 } 634 634 return NO; … … 673 673 // Provide an error even if there isn't one so we can log it. 674 674 NSError *error = nil; 675 RTCAudioSessionConfiguration *webRTCConfig =676 [ RTCAudioSessionConfiguration webRTCConfiguration];675 WebRTCAudioSessionConfiguration *webRTCConfig = 676 [WebRTCAudioSessionConfiguration webRTCConfiguration]; 677 677 if (![self setConfiguration:webRTCConfig active:YES error:&error]) { 678 678 RTCLogError(@"Failed to set WebRTC audio configuration: %@", -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h
r210942 r211902 24 24 // Struct to hold configuration values. 25 25 RTC_EXPORT 26 @interface RTCAudioSessionConfiguration : NSObject26 @interface WebRTCAudioSessionConfiguration : NSObject 27 27 28 28 @property(nonatomic, strong) NSString *category; … … 42 42 + (instancetype)webRTCConfiguration; 43 43 /** Provide a way to override the default configuration. */ 44 + (void)setWebRTCConfiguration:( RTCAudioSessionConfiguration *)configuration;44 + (void)setWebRTCConfiguration:(WebRTCAudioSessionConfiguration *)configuration; 45 45 46 46 @end -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m
r210942 r211902 53 53 const double kRTCAudioSessionLowComplexityIOBufferDuration = 0.06; 54 54 55 static RTCAudioSessionConfiguration *gWebRTCConfiguration = nil;55 static WebRTCAudioSessionConfiguration *gWebRTCConfiguration = nil; 56 56 57 @implementation RTCAudioSessionConfiguration57 @implementation WebRTCAudioSessionConfiguration 58 58 59 59 @synthesize category = _category; … … 107 107 108 108 + (instancetype)currentConfiguration { 109 RTCAudioSession *session = [RTCAudioSession sharedInstance];110 RTCAudioSessionConfiguration *config =111 [[ RTCAudioSessionConfiguration alloc] init];109 WebRTCAudioSession *session = [WebRTCAudioSession sharedInstance]; 110 WebRTCAudioSessionConfiguration *config = 111 [[WebRTCAudioSessionConfiguration alloc] init]; 112 112 config.category = session.category; 113 113 config.categoryOptions = session.categoryOptions; … … 122 122 + (instancetype)webRTCConfiguration { 123 123 @synchronized(self) { 124 return ( RTCAudioSessionConfiguration *)gWebRTCConfiguration;124 return (WebRTCAudioSessionConfiguration *)gWebRTCConfiguration; 125 125 } 126 126 } 127 127 128 + (void)setWebRTCConfiguration:( RTCAudioSessionConfiguration *)configuration {128 + (void)setWebRTCConfiguration:(WebRTCAudioSessionConfiguration *)configuration { 129 129 @synchronized(self) { 130 130 gWebRTCConfiguration = configuration; -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h
r210942 r211902 18 18 * methods on the AudioSessionObserver. 19 19 */ 20 @interface RTCAudioSessionDelegateAdapter : NSObject <RTCAudioSessionDelegate>20 @interface WebRTCAudioSessionDelegateAdapter : NSObject <WebRTCAudioSessionDelegate> 21 21 22 22 - (instancetype)init NS_UNAVAILABLE; -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm
r210942 r211902 15 15 #import "WebRTC/RTCLogging.h" 16 16 17 @implementation RTCAudioSessionDelegateAdapter {17 @implementation WebRTCAudioSessionDelegateAdapter { 18 18 webrtc::AudioSessionObserver *_observer; 19 19 } … … 27 27 } 28 28 29 #pragma mark - RTCAudioSessionDelegate29 #pragma mark - WebRTCAudioSessionDelegate 30 30 31 - (void)audioSessionDidBeginInterruption:( RTCAudioSession *)session {31 - (void)audioSessionDidBeginInterruption:(WebRTCAudioSession *)session { 32 32 _observer->OnInterruptionBegin(); 33 33 } 34 34 35 - (void)audioSessionDidEndInterruption:( RTCAudioSession *)session35 - (void)audioSessionDidEndInterruption:(WebRTCAudioSession *)session 36 36 shouldResumeSession:(BOOL)shouldResumeSession { 37 37 _observer->OnInterruptionEnd(); 38 38 } 39 39 40 - (void)audioSessionDidChangeRoute:( RTCAudioSession *)session40 - (void)audioSessionDidChangeRoute:(WebRTCAudioSession *)session 41 41 reason:(AVAudioSessionRouteChangeReason)reason 42 42 previousRoute:(AVAudioSessionRouteDescription *)previousRoute { … … 65 65 } 66 66 67 - (void)audioSessionMediaServicesWereLost:( RTCAudioSession *)session {67 - (void)audioSessionMediaServicesWereLost:(WebRTCAudioSession *)session { 68 68 } 69 69 70 - (void)audioSessionMediaServicesWereReset:( RTCAudioSession *)session {70 - (void)audioSessionMediaServicesWereReset:(WebRTCAudioSession *)session { 71 71 } 72 72 73 - (void)audioSession:( RTCAudioSession *)session73 - (void)audioSession:(WebRTCAudioSession *)session 74 74 didChangeCanPlayOrRecord:(BOOL)canPlayOrRecord { 75 75 _observer->OnCanPlayOrRecordChange(canPlayOrRecord); 76 76 } 77 77 78 - (void)audioSessionDidStartPlayOrRecord:( RTCAudioSession *)session {78 - (void)audioSessionDidStartPlayOrRecord:(WebRTCAudioSession *)session { 79 79 } 80 80 81 - (void)audioSessionDidStopPlayOrRecord:( RTCAudioSession *)session {81 - (void)audioSessionDidStopPlayOrRecord:(WebRTCAudioSession *)session { 82 82 } 83 83 -
trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj
r211888 r211902 2470 2470 5CFD53601E4BA34B00482908 /* helpers_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD535F1E4BA34B00482908 /* helpers_ios.mm */; }; 2471 2471 5CFD536C1E4BA4DC00482908 /* RTCAudioSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53631E4BA4DC00482908 /* RTCAudioSession.h */; }; 2472 5CFD536D1E4BA4DC00482908 /* RTCAudioSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53641E4BA4DC00482908 /* RTCAudioSession.mm */; };2473 5CFD536E1E4BA4DC00482908 /* RTCAudioSession+Configuration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53651E4BA4DC00482908 /* RTCAudioSession+Configuration.mm */; };2472 5CFD536D1E4BA4DC00482908 /* RTCAudioSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53641E4BA4DC00482908 /* RTCAudioSession.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2473 5CFD536E1E4BA4DC00482908 /* RTCAudioSession+Configuration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53651E4BA4DC00482908 /* RTCAudioSession+Configuration.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2474 2474 5CFD536F1E4BA4DC00482908 /* RTCAudioSession+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53661E4BA4DC00482908 /* RTCAudioSession+Private.h */; }; 2475 2475 5CFD53701E4BA4DC00482908 /* RTCAudioSessionConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53671E4BA4DC00482908 /* RTCAudioSessionConfiguration.h */; }; 2476 5CFD53711E4BA4DC00482908 /* RTCAudioSessionConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53681E4BA4DC00482908 /* RTCAudioSessionConfiguration.m */; };2476 5CFD53711E4BA4DC00482908 /* RTCAudioSessionConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53681E4BA4DC00482908 /* RTCAudioSessionConfiguration.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2477 2477 5CFD53721E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53691E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.h */; }; 2478 5CFD53731E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD536A1E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm */; };2478 5CFD53731E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD536A1E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2479 2479 5CFD537C1E4BA4F500482908 /* audio_device_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53751E4BA4F500482908 /* audio_device_ios.h */; }; 2480 2480 5CFD537D1E4BA4F500482908 /* audio_device_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53761E4BA4F500482908 /* audio_device_ios.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2481 2481 5CFD53801E4BA4F500482908 /* audio_session_observer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53791E4BA4F500482908 /* audio_session_observer.h */; }; 2482 2482 5CFD53811E4BA4F500482908 /* voice_processing_audio_unit.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */; }; 2483 5CFD53821E4BA4F500482908 /* voice_processing_audio_unit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */; }; 2483 5CFD53821E4BA4F500482908 /* voice_processing_audio_unit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2484 5CFD53841E4BBD8D00482908 /* audio_device_not_implemented_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 2484 2485 /* End PBXBuildFile section */ 2485 2486 … … 5185 5186 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_processing_audio_unit.h; sourceTree = "<group>"; }; 5186 5187 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = voice_processing_audio_unit.mm; sourceTree = "<group>"; }; 5188 5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = audio_device_not_implemented_ios.mm; sourceTree = "<group>"; }; 5187 5189 5D7C59C51208C68B001C873E /* libwebrtc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = libwebrtc.xcconfig; sourceTree = "<group>"; }; 5188 5190 5D7C59C61208C68B001C873E /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; }; … … 9131 9133 5CFD53751E4BA4F500482908 /* audio_device_ios.h */, 9132 9134 5CFD53761E4BA4F500482908 /* audio_device_ios.mm */, 9135 5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */, 9133 9136 5CFD53791E4BA4F500482908 /* audio_session_observer.h */, 9134 9137 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */, … … 11209 11212 5CFD537D1E4BA4F500482908 /* audio_device_ios.mm in Sources */, 11210 11213 5C11A00B1E457448004F0987 /* audio_device_mac.cc in Sources */, 11214 5CFD53841E4BBD8D00482908 /* audio_device_not_implemented_ios.mm in Sources */, 11211 11215 5CDD84171E439B2900621E92 /* audio_encoder.cc in Sources */, 11212 11216 5CDD8CA71E43C6F700621E92 /* audio_encoder_cng.cc in Sources */,
Note: See TracChangeset
for help on using the changeset viewer.