<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[211902] trunk/Source/ThirdParty/libwebrtc</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/211902">211902</a></dd>
<dt>Author</dt> <dd>achristensen@apple.com</dd>
<dt>Date</dt> <dd>2017-02-08 14:26:57 -0800 (Wed, 08 Feb 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Fix libwebrtc build on iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=168017

Reviewed by Tim Horton.

* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtcpcrtc.xcconfig:
Use $(inherited)
* Source/webrtc/modules/audio_device/ios/audio_device_ios.h:
* Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h:
* Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm:
Renamed RTCAudioSession* to WebRTCAudioSession* so that all ObjC classes in WebCore start with Web prefix.
* libwebrtc.xcodeproj/project.pbxproj:
Add necessary files.  Some iOS-specific files need ARC, 
and this matches the Build.gn in Source/webrtc/modules/audio_device</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceThirdPartylibwebrtcChangeLog">trunk/Source/ThirdParty/libwebrtc/ChangeLog</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcConfigurationslibwebrtcxcconfig">trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcConfigurationslibwebrtcpcrtcxcconfig">trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtcpcrtc.xcconfig</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosaudio_device_iosh">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosaudio_device_iosmm">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionConfigurationmm">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionPrivateh">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionh">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionmm">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionConfigurationh">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionConfigurationm">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionDelegateAdapterh">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionDelegateAdaptermm">trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm</a></li>
<li><a href="#trunkSourceThirdPartylibwebrtclibwebrtcxcodeprojprojectpbxproj">trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceThirdPartylibwebrtcChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/ChangeLog        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -1,5 +1,30 @@
</span><span class="cx"> 2017-02-08  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><ins>+        Fix libwebrtc build on iOS simulator
+        https://bugs.webkit.org/show_bug.cgi?id=168017
+
+        Reviewed by Tim Horton.
+
+        * Configurations/libwebrtc.xcconfig:
+        * Configurations/libwebrtcpcrtc.xcconfig:
+        Use $(inherited)
+        * Source/webrtc/modules/audio_device/ios/audio_device_ios.h:
+        * Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h:
+        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm:
+        Renamed RTCAudioSession* to WebRTCAudioSession* so that all ObjC classes in WebCore start with Web prefix.
+        * libwebrtc.xcodeproj/project.pbxproj:
+        Add necessary files.  Some iOS-specific files need ARC, 
+        and this matches the Build.gn in Source/webrtc/modules/audio_device
+
+2017-02-08  Alex Christensen  &lt;achristensen@webkit.org&gt;
+
</ins><span class="cx">         Fix iOS libwebrtc build
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=168004
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcConfigurationslibwebrtcxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -13,11 +13,11 @@
</span><span class="cx"> USE_HEADERMAP = NO;
</span><span class="cx"> WARNING_CFLAGS = -Wno-exit-time-destructors -Wno-objc-property-no-attribute -Wno-objc-missing-super-calls -Wno-deprecated-declarations;
</span><span class="cx"> 
</span><del>-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;
</del><ins>+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;
</ins><span class="cx"> 
</span><del>-GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(BASE_PREPROCESSOR_DEFINITIONS);
-GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;
-GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;
</del><ins>+GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited);
+GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) WEBRTC_IOS;
+GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS;
</ins><span class="cx"> 
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*] = *_sse.cc *_sse2.cc macutils.cc macwindowpicker.cc audio_device_mac.cc;
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*] = macutils.cc macwindowpicker.cc audio_device_mac.cc;
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcConfigurationslibwebrtcpcrtcxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtcpcrtc.xcconfig (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtcpcrtc.xcconfig        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtcpcrtc.xcconfig        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -13,8 +13,8 @@
</span><span class="cx"> USE_HEADERMAP = NO;
</span><span class="cx"> WARNING_CFLAGS = -Wno-exit-time-destructors -Wno-objc-property-no-attribute -Wno-objc-missing-super-calls;
</span><span class="cx"> 
</span><del>-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;
</del><ins>+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;
</ins><span class="cx"> 
</span><del>-GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(BASE_PREPROCESSOR_DEFINITIONS);
-GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;
-GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(BASE_PREPROCESSOR_DEFINITIONS) WEBRTC_IOS;
</del><ins>+GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited);
+GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) WEBRTC_IOS;
+GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS;
</ins></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosaudio_device_iosh"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx"> #include &quot;webrtc/modules/audio_device/ios/audio_session_observer.h&quot;
</span><span class="cx"> #include &quot;webrtc/modules/audio_device/ios/voice_processing_audio_unit.h&quot;
</span><span class="cx"> 
</span><del>-RTC_FWD_DECL_OBJC_CLASS(RTCAudioSessionDelegateAdapter);
</del><ins>+RTC_FWD_DECL_OBJC_CLASS(WebRTCAudioSessionDelegateAdapter);
</ins><span class="cx"> 
</span><span class="cx"> namespace webrtc {
</span><span class="cx"> 
</span><span class="lines">@@ -288,7 +288,7 @@
</span><span class="cx">   bool is_interrupted_;
</span><span class="cx"> 
</span><span class="cx">   // Audio interruption observer instance.
</span><del>-  RTCAudioSessionDelegateAdapter* audio_session_observer_;
</del><ins>+  WebRTCAudioSessionDelegateAdapter* audio_session_observer_;
</ins><span class="cx"> 
</span><span class="cx">   // Set to true if we've activated the audio session.
</span><span class="cx">   bool has_configured_session_;
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosaudio_device_iosmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">   LOGI() &lt;&lt; &quot;ctor&quot; &lt;&lt; ios::GetCurrentThreadDescription();
</span><span class="cx">   thread_ = rtc::Thread::Current();
</span><span class="cx">   audio_session_observer_ =
</span><del>-      [[RTCAudioSessionDelegateAdapter alloc] initWithObserver:this];
</del><ins>+      [[WebRTCAudioSessionDelegateAdapter alloc] initWithObserver:this];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> AudioDeviceIOS::~AudioDeviceIOS() {
</span><span class="lines">@@ -134,8 +134,8 @@
</span><span class="cx">   // here. They have not been set and confirmed yet since configureForWebRTC
</span><span class="cx">   // is not called until audio is about to start. However, it makes sense to
</span><span class="cx">   // store the parameters now and then verify at a later stage.
</span><del>-  RTCAudioSessionConfiguration* config =
-      [RTCAudioSessionConfiguration webRTCConfiguration];
</del><ins>+  WebRTCAudioSessionConfiguration* config =
+      [WebRTCAudioSessionConfiguration webRTCConfiguration];
</ins><span class="cx">   playout_parameters_.reset(config.sampleRate,
</span><span class="cx">                             config.outputNumberOfChannels);
</span><span class="cx">   record_parameters_.reset(config.sampleRate,
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx"> int32_t AudioDeviceIOS::SetLoudspeakerStatus(bool enable) {
</span><span class="cx">   LOGI() &lt;&lt; &quot;SetLoudspeakerStatus(&quot; &lt;&lt; enable &lt;&lt; &quot;)&quot;;
</span><span class="cx"> 
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   [session lockForConfiguration];
</span><span class="cx">   NSString* category = session.category;
</span><span class="cx">   AVAudioSessionCategoryOptions options = session.categoryOptions;
</span><span class="lines">@@ -294,7 +294,7 @@
</span><span class="cx"> 
</span><span class="cx"> int32_t AudioDeviceIOS::GetLoudspeakerStatus(bool&amp; enabled) const {
</span><span class="cx">   LOGI() &lt;&lt; &quot;GetLoudspeakerStatus&quot;;
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   AVAudioSessionCategoryOptions options = session.categoryOptions;
</span><span class="cx">   enabled = options &amp; AVAudioSessionCategoryOptionDefaultToSpeaker;
</span><span class="cx">   return 0;
</span><span class="lines">@@ -368,7 +368,7 @@
</span><span class="cx">                   static_cast&lt;unsigned int&gt;(frames_per_buffer),
</span><span class="cx">                   static_cast&lt;unsigned int&gt;(num_frames));
</span><span class="cx"> 
</span><del>-    RTCAudioSession *session = [RTCAudioSession sharedInstance];
</del><ins>+    WebRTCAudioSession *session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">     RTCLogWarning(@&quot;Session:\n %@&quot;, session);
</span><span class="cx">     return result;
</span><span class="cx">   }
</span><span class="lines">@@ -485,13 +485,13 @@
</span><span class="cx"> 
</span><span class="cx">   is_interrupted_ = false;
</span><span class="cx">   RTCLog(@&quot;Interruption ended. Updating audio unit state.&quot;);
</span><del>-  UpdateAudioUnit([RTCAudioSession sharedInstance].canPlayOrRecord);
</del><ins>+  UpdateAudioUnit([WebRTCAudioSession sharedInstance].canPlayOrRecord);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AudioDeviceIOS::HandleValidRouteChange() {
</span><span class="cx">   RTC_DCHECK(thread_checker_.CalledOnValidThread());
</span><span class="cx"> 
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   RTCLog(@&quot;%@&quot;, session);
</span><span class="cx">   HandleSampleRateChange(session.sampleRate);
</span><span class="cx"> }
</span><span class="lines">@@ -521,7 +521,7 @@
</span><span class="cx"> 
</span><span class="cx">   // The audio unit is already initialized or started.
</span><span class="cx">   // Check to see if the sample rate or buffer size has changed.
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   const double session_sample_rate = session.sampleRate;
</span><span class="cx">   const NSTimeInterval session_buffer_duration = session.IOBufferDuration;
</span><span class="cx">   const size_t session_frames_per_buffer =
</span><span class="lines">@@ -591,7 +591,7 @@
</span><span class="cx"> void AudioDeviceIOS::SetupAudioBuffersForActiveAudioSession() {
</span><span class="cx">   LOGI() &lt;&lt; &quot;SetupAudioBuffersForActiveAudioSession&quot;;
</span><span class="cx">   // Verify the current values once the audio session has been activated.
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   double sample_rate = session.sampleRate;
</span><span class="cx">   NSTimeInterval io_buffer_duration = session.IOBufferDuration;
</span><span class="cx">   RTCLog(@&quot;%@&quot;, session);
</span><span class="lines">@@ -600,8 +600,8 @@
</span><span class="cx">   // hardware sample rate but continue and use the non-ideal sample rate after
</span><span class="cx">   // reinitializing the audio parameters. Most BT headsets only support 8kHz or
</span><span class="cx">   // 16kHz.
</span><del>-  RTCAudioSessionConfiguration* webRTCConfig =
-      [RTCAudioSessionConfiguration webRTCConfiguration];
</del><ins>+  WebRTCAudioSessionConfiguration* webRTCConfig =
+      [WebRTCAudioSessionConfiguration webRTCConfiguration];
</ins><span class="cx">   if (sample_rate != webRTCConfig.sampleRate) {
</span><span class="cx">     LOG(LS_WARNING) &lt;&lt; &quot;Unable to set the preferred sample rate&quot;;
</span><span class="cx">   }
</span><span class="lines">@@ -731,7 +731,7 @@
</span><span class="cx">   if (should_start_audio_unit) {
</span><span class="cx">     RTCLog(@&quot;Starting audio unit for UpdateAudioUnit&quot;);
</span><span class="cx">     // Log session settings before trying to start audio streaming.
</span><del>-    RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+    WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">     RTCLog(@&quot;%@&quot;, session);
</span><span class="cx">     if (!audio_unit_-&gt;Start()) {
</span><span class="cx">       RTCLogError(@&quot;Failed to start audio unit.&quot;);
</span><span class="lines">@@ -761,7 +761,7 @@
</span><span class="cx">     RTCLogWarning(@&quot;Audio session already configured.&quot;);
</span><span class="cx">     return;
</span><span class="cx">   }
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   [session lockForConfiguration];
</span><span class="cx">   [session configureWebRTCSession:nil];
</span><span class="cx">   [session unlockForConfiguration];
</span><span class="lines">@@ -776,7 +776,7 @@
</span><span class="cx">     RTCLogWarning(@&quot;Audio session already unconfigured.&quot;);
</span><span class="cx">     return;
</span><span class="cx">   }
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   [session lockForConfiguration];
</span><span class="cx">   [session unconfigureWebRTCSession:nil];
</span><span class="cx">   [session unlockForConfiguration];
</span><span class="lines">@@ -792,7 +792,7 @@
</span><span class="cx">     return false;
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   // Subscribe to audio session events.
</span><span class="cx">   [session pushDelegate:audio_session_observer_];
</span><span class="cx"> 
</span><span class="lines">@@ -829,7 +829,7 @@
</span><span class="cx">   audio_unit_.reset();
</span><span class="cx"> 
</span><span class="cx">   // Remove audio session notification observers.
</span><del>-  RTCAudioSession* session = [RTCAudioSession sharedInstance];
</del><ins>+  WebRTCAudioSession* session = [WebRTCAudioSession sharedInstance];
</ins><span class="cx">   [session removeDelegate:audio_session_observer_];
</span><span class="cx"> 
</span><span class="cx">   // All I/O should be stopped or paused prior to deactivating the audio
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionConfigurationmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -14,9 +14,9 @@
</span><span class="cx"> #import &quot;webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h&quot;
</span><span class="cx"> #import &quot;webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h&quot;
</span><span class="cx"> 
</span><del>-@implementation RTCAudioSession (Configuration)
</del><ins>+@implementation WebRTCAudioSession (Configuration)
</ins><span class="cx"> 
</span><del>-- (BOOL)setConfiguration:(RTCAudioSessionConfiguration *)configuration
</del><ins>+- (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration
</ins><span class="cx">                    error:(NSError **)outError {
</span><span class="cx">   return [self setConfiguration:configuration
</span><span class="cx">                          active:NO
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">                           error:outError];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (BOOL)setConfiguration:(RTCAudioSessionConfiguration *)configuration
</del><ins>+- (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration
</ins><span class="cx">                   active:(BOOL)active
</span><span class="cx">                    error:(NSError **)outError {
</span><span class="cx">   return [self setConfiguration:configuration
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma mark - Private
</span><span class="cx"> 
</span><del>-- (BOOL)setConfiguration:(RTCAudioSessionConfiguration *)configuration
</del><ins>+- (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration
</ins><span class="cx">                   active:(BOOL)active
</span><span class="cx">          shouldSetActive:(BOOL)shouldSetActive
</span><span class="cx">                    error:(NSError **)outError {
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -14,9 +14,9 @@
</span><span class="cx"> 
</span><span class="cx"> NS_ASSUME_NONNULL_BEGIN
</span><span class="cx"> 
</span><del>-@class RTCAudioSessionConfiguration;
</del><ins>+@class WebRTCAudioSessionConfiguration;
</ins><span class="cx"> 
</span><del>-@interface RTCAudioSession ()
</del><ins>+@interface WebRTCAudioSession ()
</ins><span class="cx"> 
</span><span class="cx"> /** Number of times setActive:YES has succeeded without a balanced call to
</span><span class="cx">  *  setActive:NO.
</span><span class="lines">@@ -42,9 +42,9 @@
</span><span class="cx">  *  the list. This delegate will be notified before other delegates of
</span><span class="cx">  *  audio events.
</span><span class="cx">  */
</span><del>-- (void)pushDelegate:(id&lt;RTCAudioSessionDelegate&gt;)delegate;
</del><ins>+- (void)pushDelegate:(id&lt;WebRTCAudioSessionDelegate&gt;)delegate;
</ins><span class="cx"> 
</span><del>-/** Signals RTCAudioSession that a WebRTC session is about to begin and
</del><ins>+/** Signals WebRTCAudioSession that a WebRTC session is about to begin and
</ins><span class="cx">  *  audio configuration is needed. Will configure the audio session for WebRTC
</span><span class="cx">  *  if not already configured and if configuration is not delayed.
</span><span class="cx">  *  Successful calls must be balanced by a call to endWebRTCSession.
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">  */
</span><span class="cx"> - (BOOL)beginWebRTCSession:(NSError **)outError;
</span><span class="cx"> 
</span><del>-/** Signals RTCAudioSession that a WebRTC session is about to end and audio
</del><ins>+/** Signals WebRTCAudioSession that a WebRTC session is about to end and audio
</ins><span class="cx">  *  unconfiguration is needed. Will unconfigure the audio session for WebRTC
</span><span class="cx">  *  if this is the last unmatched call and if configuration is not delayed.
</span><span class="cx">  */
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> 
</span><span class="cx"> // Properties and methods for tests.
</span><span class="cx"> @property(nonatomic, readonly)
</span><del>-    std::vector&lt;__weak id&lt;RTCAudioSessionDelegate&gt; &gt; delegates;
</del><ins>+    std::vector&lt;__weak id&lt;WebRTCAudioSessionDelegate&gt; &gt; delegates;
</ins><span class="cx"> 
</span><span class="cx"> - (void)notifyDidBeginInterruption;
</span><span class="cx"> - (void)notifyDidEndInterruptionWithShouldResumeSession:
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -21,31 +21,31 @@
</span><span class="cx"> /** Unknown configuration error occurred. */
</span><span class="cx"> extern NSInteger const kRTCAudioSessionErrorConfiguration;
</span><span class="cx"> 
</span><del>-@class RTCAudioSession;
-@class RTCAudioSessionConfiguration;
</del><ins>+@class WebRTCAudioSession;
+@class WebRTCAudioSessionConfiguration;
</ins><span class="cx"> 
</span><span class="cx"> // Surfaces AVAudioSession events. WebRTC will listen directly for notifications
</span><span class="cx"> // from AVAudioSession and handle them before calling these delegate methods,
</span><span class="cx"> // at which point applications can perform additional processing if required.
</span><span class="cx"> RTC_EXPORT
</span><del>-@protocol RTCAudioSessionDelegate &lt;NSObject&gt;
</del><ins>+@protocol WebRTCAudioSessionDelegate &lt;NSObject&gt;
</ins><span class="cx"> 
</span><span class="cx"> @optional
</span><span class="cx"> /** Called on a system notification thread when AVAudioSession starts an
</span><span class="cx">  *  interruption event.
</span><span class="cx">  */
</span><del>-- (void)audioSessionDidBeginInterruption:(RTCAudioSession *)session;
</del><ins>+- (void)audioSessionDidBeginInterruption:(WebRTCAudioSession *)session;
</ins><span class="cx"> 
</span><span class="cx"> /** Called on a system notification thread when AVAudioSession ends an
</span><span class="cx">  *  interruption event.
</span><span class="cx">  */
</span><del>-- (void)audioSessionDidEndInterruption:(RTCAudioSession *)session
</del><ins>+- (void)audioSessionDidEndInterruption:(WebRTCAudioSession *)session
</ins><span class="cx">                    shouldResumeSession:(BOOL)shouldResumeSession;
</span><span class="cx"> 
</span><span class="cx"> /** Called on a system notification thread when AVAudioSession changes the
</span><span class="cx">  *  route.
</span><span class="cx">  */
</span><del>-- (void)audioSessionDidChangeRoute:(RTCAudioSession *)session
</del><ins>+- (void)audioSessionDidChangeRoute:(WebRTCAudioSession *)session
</ins><span class="cx">            reason:(AVAudioSessionRouteChangeReason)reason
</span><span class="cx">     previousRoute:(AVAudioSessionRouteDescription *)previousRoute;
</span><span class="cx"> 
</span><span class="lines">@@ -52,27 +52,27 @@
</span><span class="cx"> /** Called on a system notification thread when AVAudioSession media server
</span><span class="cx">  *  terminates.
</span><span class="cx">  */
</span><del>-- (void)audioSessionMediaServicesWereLost:(RTCAudioSession *)session;
</del><ins>+- (void)audioSessionMediaServicesWereLost:(WebRTCAudioSession *)session;
</ins><span class="cx"> 
</span><span class="cx"> /** Called on a system notification thread when AVAudioSession media server
</span><span class="cx">  *  restarts.
</span><span class="cx">  */
</span><del>-- (void)audioSessionMediaServicesWereReset:(RTCAudioSession *)session;
</del><ins>+- (void)audioSessionMediaServicesWereReset:(WebRTCAudioSession *)session;
</ins><span class="cx"> 
</span><span class="cx"> // TODO(tkchin): Maybe handle SilenceSecondaryAudioHintNotification.
</span><span class="cx"> 
</span><del>-- (void)audioSession:(RTCAudioSession *)session
</del><ins>+- (void)audioSession:(WebRTCAudioSession *)session
</ins><span class="cx">     didChangeCanPlayOrRecord:(BOOL)canPlayOrRecord;
</span><span class="cx"> 
</span><span class="cx"> /** Called on a WebRTC thread when the audio device is notified to begin
</span><span class="cx">  *  playback or recording.
</span><span class="cx">  */
</span><del>-- (void)audioSessionDidStartPlayOrRecord:(RTCAudioSession *)session;
</del><ins>+- (void)audioSessionDidStartPlayOrRecord:(WebRTCAudioSession *)session;
</ins><span class="cx"> 
</span><span class="cx"> /** Called on a WebRTC thread when the audio device is notified to stop
</span><span class="cx">  *  playback or recording.
</span><span class="cx">  */
</span><del>-- (void)audioSessionDidStopPlayOrRecord:(RTCAudioSession *)session;
</del><ins>+- (void)audioSessionDidStopPlayOrRecord:(WebRTCAudioSession *)session;
</ins><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="lines">@@ -80,11 +80,11 @@
</span><span class="cx">  *  AVCaptureDevice. This is used to that interleaving configurations between
</span><span class="cx">  *  WebRTC and the application layer are avoided.
</span><span class="cx">  *
</span><del>- *  RTCAudioSession also coordinates activation so that the audio session is
</del><ins>+ *  WebRTCAudioSession also coordinates activation so that the audio session is
</ins><span class="cx">  *  activated only once. See |setActive:error:|.
</span><span class="cx">  */
</span><span class="cx"> RTC_EXPORT
</span><del>-@interface RTCAudioSession : NSObject
</del><ins>+@interface WebRTCAudioSession : NSObject
</ins><span class="cx"> 
</span><span class="cx"> /** Convenience property to access the AVAudioSession singleton. Callers should
</span><span class="cx">  *  not call setters on AVAudioSession directly, but other method invocations
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">  *  AVAudioSession.
</span><span class="cx">  */
</span><span class="cx"> @property(nonatomic, readonly) BOOL isActive;
</span><del>-/** Whether RTCAudioSession is currently locked for configuration. */
</del><ins>+/** Whether WebRTCAudioSession is currently locked for configuration. */
</ins><span class="cx"> @property(nonatomic, readonly) BOOL isLocked;
</span><span class="cx"> 
</span><span class="cx"> /** If YES, WebRTC will not initialize the audio unit automatically when an
</span><span class="lines">@@ -154,9 +154,9 @@
</span><span class="cx"> - (instancetype)init NS_UNAVAILABLE;
</span><span class="cx"> 
</span><span class="cx"> /** Adds a delegate, which is held weakly. */
</span><del>-- (void)addDelegate:(id&lt;RTCAudioSessionDelegate&gt;)delegate;
</del><ins>+- (void)addDelegate:(id&lt;WebRTCAudioSessionDelegate&gt;)delegate;
</ins><span class="cx"> /** Removes an added delegate. */
</span><del>-- (void)removeDelegate:(id&lt;RTCAudioSessionDelegate&gt;)delegate;
</del><ins>+- (void)removeDelegate:(id&lt;WebRTCAudioSessionDelegate&gt;)delegate;
</ins><span class="cx"> 
</span><span class="cx"> /** Request exclusive access to the audio session for configuration. This call
</span><span class="cx">  *  will block if the lock is held by another object.
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span><del>-@interface RTCAudioSession (Configuration)
</del><ins>+@interface WebRTCAudioSession (Configuration)
</ins><span class="cx"> 
</span><span class="cx"> /** Applies the configuration to the current session. Attempts to set all
</span><span class="cx">  *  properties even if previous ones fail. Only the last error will be
</span><span class="lines">@@ -209,13 +209,13 @@
</span><span class="cx">  *  returned.
</span><span class="cx">  *  |lockForConfiguration| must be called first.
</span><span class="cx">  */
</span><del>-- (BOOL)setConfiguration:(RTCAudioSessionConfiguration *)configuration
</del><ins>+- (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration
</ins><span class="cx">                    error:(NSError **)outError;
</span><span class="cx"> 
</span><span class="cx"> /** Convenience method that calls both setConfiguration and setActive.
</span><span class="cx">  *  |lockForConfiguration| must be called first.
</span><span class="cx">  */
</span><del>-- (BOOL)setConfiguration:(RTCAudioSessionConfiguration *)configuration
</del><ins>+- (BOOL)setConfiguration:(WebRTCAudioSessionConfiguration *)configuration
</ins><span class="cx">                   active:(BOOL)active
</span><span class="cx">                    error:(NSError **)outError;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx"> #import &quot;webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h&quot;
</span><span class="cx"> #import &quot;webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h&quot;
</span><span class="cx"> 
</span><del>-NSString * const kRTCAudioSessionErrorDomain = @&quot;org.webrtc.RTCAudioSession&quot;;
</del><ins>+NSString * const kRTCAudioSessionErrorDomain = @&quot;org.webrtc.WebRTCAudioSession&quot;;
</ins><span class="cx"> NSInteger const kRTCAudioSessionErrorLockRequired = -1;
</span><span class="cx"> NSInteger const kRTCAudioSessionErrorConfiguration = -2;
</span><span class="cx"> 
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> // This class needs to be thread-safe because it is accessed from many threads.
</span><span class="cx"> // TODO(tkchin): Consider more granular locking. We're not expecting a lot of
</span><span class="cx"> // lock contention so coarse locks should be fine for now.
</span><del>-@implementation RTCAudioSession {
</del><ins>+@implementation WebRTCAudioSession {
</ins><span class="cx">   rtc::CriticalSection _crit;
</span><span class="cx">   AVAudioSession *_session;
</span><span class="cx">   volatile int _activationCount;
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> + (instancetype)sharedInstance {
</span><span class="cx">   static dispatch_once_t onceToken;
</span><del>-  static RTCAudioSession *sharedInstance = nil;
</del><ins>+  static WebRTCAudioSession *sharedInstance = nil;
</ins><span class="cx">   dispatch_once(&amp;onceToken, ^{
</span><span class="cx">     sharedInstance = [[self alloc] init];
</span><span class="cx">   });
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)description {
</span><span class="cx">   NSString *format =
</span><del>-      @&quot;RTCAudioSession: {\n&quot;
</del><ins>+      @&quot;WebRTCAudioSession: {\n&quot;
</ins><span class="cx">        &quot;  category: %@\n&quot;
</span><span class="cx">        &quot;  categoryOptions: %ld\n&quot;
</span><span class="cx">        &quot;  mode: %@\n&quot;
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // TODO(tkchin): Check for duplicates.
</span><del>-- (void)addDelegate:(id&lt;RTCAudioSessionDelegate&gt;)delegate {
</del><ins>+- (void)addDelegate:(id&lt;WebRTCAudioSessionDelegate&gt;)delegate {
</ins><span class="cx">   if (!delegate) {
</span><span class="cx">     return;
</span><span class="cx">   }
</span><span class="lines">@@ -176,7 +176,7 @@
</span><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)removeDelegate:(id&lt;RTCAudioSessionDelegate&gt;)delegate {
</del><ins>+- (void)removeDelegate:(id&lt;WebRTCAudioSessionDelegate&gt;)delegate {
</ins><span class="cx">   if (!delegate) {
</span><span class="cx">     return;
</span><span class="cx">   }
</span><span class="lines">@@ -563,7 +563,7 @@
</span><span class="cx">   return error;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (std::vector&lt;__weak id&lt;RTCAudioSessionDelegate&gt; &gt;)delegates {
</del><ins>+- (std::vector&lt;__weak id&lt;WebRTCAudioSessionDelegate&gt; &gt;)delegates {
</ins><span class="cx">   @synchronized(self) {
</span><span class="cx">     // Note: this returns a copy.
</span><span class="cx">     return _delegates;
</span><span class="lines">@@ -571,7 +571,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // TODO(tkchin): check for duplicates.
</span><del>-- (void)pushDelegate:(id&lt;RTCAudioSessionDelegate&gt;)delegate {
</del><ins>+- (void)pushDelegate:(id&lt;WebRTCAudioSessionDelegate&gt;)delegate {
</ins><span class="cx">   @synchronized(self) {
</span><span class="cx">     _delegates.insert(_delegates.begin(), delegate);
</span><span class="cx">   }
</span><span class="lines">@@ -629,7 +629,7 @@
</span><span class="cx">   // acquire lock if it hasn't already been called.
</span><span class="cx">   if (!self.isLocked) {
</span><span class="cx">     if (outError) {
</span><del>-      *outError = [RTCAudioSession lockError];
</del><ins>+      *outError = [WebRTCAudioSession lockError];
</ins><span class="cx">     }
</span><span class="cx">     return NO;
</span><span class="cx">   }
</span><span class="lines">@@ -672,8 +672,8 @@
</span><span class="cx">   // Configure the AVAudioSession and activate it.
</span><span class="cx">   // Provide an error even if there isn't one so we can log it.
</span><span class="cx">   NSError *error = nil;
</span><del>-  RTCAudioSessionConfiguration *webRTCConfig =
-      [RTCAudioSessionConfiguration webRTCConfiguration];
</del><ins>+  WebRTCAudioSessionConfiguration *webRTCConfig =
+      [WebRTCAudioSessionConfiguration webRTCConfiguration];
</ins><span class="cx">   if (![self setConfiguration:webRTCConfig active:YES error:&amp;error]) {
</span><span class="cx">     RTCLogError(@&quot;Failed to set WebRTC audio configuration: %@&quot;,
</span><span class="cx">                 error.localizedDescription);
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionConfigurationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> 
</span><span class="cx"> // Struct to hold configuration values.
</span><span class="cx"> RTC_EXPORT
</span><del>-@interface RTCAudioSessionConfiguration : NSObject
</del><ins>+@interface WebRTCAudioSessionConfiguration : NSObject
</ins><span class="cx"> 
</span><span class="cx"> @property(nonatomic, strong) NSString *category;
</span><span class="cx"> @property(nonatomic, assign) AVAudioSessionCategoryOptions categoryOptions;
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> /** Returns the configuration that WebRTC needs. */
</span><span class="cx"> + (instancetype)webRTCConfiguration;
</span><span class="cx"> /** Provide a way to override the default configuration. */
</span><del>-+ (void)setWebRTCConfiguration:(RTCAudioSessionConfiguration *)configuration;
</del><ins>++ (void)setWebRTCConfiguration:(WebRTCAudioSessionConfiguration *)configuration;
</ins><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionConfigurationm"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -52,9 +52,9 @@
</span><span class="cx"> // TODO(henrika): monitor this size and determine if it should be modified.
</span><span class="cx"> const double kRTCAudioSessionLowComplexityIOBufferDuration = 0.06;
</span><span class="cx"> 
</span><del>-static RTCAudioSessionConfiguration *gWebRTCConfiguration = nil;
</del><ins>+static WebRTCAudioSessionConfiguration *gWebRTCConfiguration = nil;
</ins><span class="cx"> 
</span><del>-@implementation RTCAudioSessionConfiguration
</del><ins>+@implementation WebRTCAudioSessionConfiguration
</ins><span class="cx"> 
</span><span class="cx"> @synthesize category = _category;
</span><span class="cx"> @synthesize categoryOptions = _categoryOptions;
</span><span class="lines">@@ -106,9 +106,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> + (instancetype)currentConfiguration {
</span><del>-  RTCAudioSession *session = [RTCAudioSession sharedInstance];
-  RTCAudioSessionConfiguration *config =
-      [[RTCAudioSessionConfiguration alloc] init];
</del><ins>+  WebRTCAudioSession *session = [WebRTCAudioSession sharedInstance];
+  WebRTCAudioSessionConfiguration *config =
+      [[WebRTCAudioSessionConfiguration alloc] init];
</ins><span class="cx">   config.category = session.category;
</span><span class="cx">   config.categoryOptions = session.categoryOptions;
</span><span class="cx">   config.mode = session.mode;
</span><span class="lines">@@ -121,11 +121,11 @@
</span><span class="cx"> 
</span><span class="cx"> + (instancetype)webRTCConfiguration {
</span><span class="cx">   @synchronized(self) {
</span><del>-    return (RTCAudioSessionConfiguration *)gWebRTCConfiguration;
</del><ins>+    return (WebRTCAudioSessionConfiguration *)gWebRTCConfiguration;
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-+ (void)setWebRTCConfiguration:(RTCAudioSessionConfiguration *)configuration {
</del><ins>++ (void)setWebRTCConfiguration:(WebRTCAudioSessionConfiguration *)configuration {
</ins><span class="cx">   @synchronized(self) {
</span><span class="cx">     gWebRTCConfiguration = configuration;
</span><span class="cx">   }
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionDelegateAdapterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -17,7 +17,7 @@
</span><span class="cx"> /** Adapter that forwards RTCAudioSessionDelegate calls to the appropriate
</span><span class="cx">  *  methods on the AudioSessionObserver.
</span><span class="cx">  */
</span><del>-@interface RTCAudioSessionDelegateAdapter : NSObject &lt;RTCAudioSessionDelegate&gt;
</del><ins>+@interface WebRTCAudioSessionDelegateAdapter : NSObject &lt;WebRTCAudioSessionDelegate&gt;
</ins><span class="cx"> 
</span><span class="cx"> - (instancetype)init NS_UNAVAILABLE;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtcSourcewebrtcmodulesaudio_deviceiosobjcRTCAudioSessionDelegateAdaptermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;WebRTC/RTCLogging.h&quot;
</span><span class="cx"> 
</span><del>-@implementation RTCAudioSessionDelegateAdapter {
</del><ins>+@implementation WebRTCAudioSessionDelegateAdapter {
</ins><span class="cx">   webrtc::AudioSessionObserver *_observer;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -26,18 +26,18 @@
</span><span class="cx">   return self;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#pragma mark - RTCAudioSessionDelegate
</del><ins>+#pragma mark - WebRTCAudioSessionDelegate
</ins><span class="cx"> 
</span><del>-- (void)audioSessionDidBeginInterruption:(RTCAudioSession *)session {
</del><ins>+- (void)audioSessionDidBeginInterruption:(WebRTCAudioSession *)session {
</ins><span class="cx">   _observer-&gt;OnInterruptionBegin();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSessionDidEndInterruption:(RTCAudioSession *)session
</del><ins>+- (void)audioSessionDidEndInterruption:(WebRTCAudioSession *)session
</ins><span class="cx">                    shouldResumeSession:(BOOL)shouldResumeSession {
</span><span class="cx">   _observer-&gt;OnInterruptionEnd();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSessionDidChangeRoute:(RTCAudioSession *)session
</del><ins>+- (void)audioSessionDidChangeRoute:(WebRTCAudioSession *)session
</ins><span class="cx">            reason:(AVAudioSessionRouteChangeReason)reason
</span><span class="cx">     previousRoute:(AVAudioSessionRouteDescription *)previousRoute {
</span><span class="cx">   switch (reason) {
</span><span class="lines">@@ -64,21 +64,21 @@
</span><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSessionMediaServicesWereLost:(RTCAudioSession *)session {
</del><ins>+- (void)audioSessionMediaServicesWereLost:(WebRTCAudioSession *)session {
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSessionMediaServicesWereReset:(RTCAudioSession *)session {
</del><ins>+- (void)audioSessionMediaServicesWereReset:(WebRTCAudioSession *)session {
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSession:(RTCAudioSession *)session
</del><ins>+- (void)audioSession:(WebRTCAudioSession *)session
</ins><span class="cx">     didChangeCanPlayOrRecord:(BOOL)canPlayOrRecord {
</span><span class="cx">   _observer-&gt;OnCanPlayOrRecordChange(canPlayOrRecord);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSessionDidStartPlayOrRecord:(RTCAudioSession *)session {
</del><ins>+- (void)audioSessionDidStartPlayOrRecord:(WebRTCAudioSession *)session {
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)audioSessionDidStopPlayOrRecord:(RTCAudioSession *)session {
</del><ins>+- (void)audioSessionDidStopPlayOrRecord:(WebRTCAudioSession *)session {
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceThirdPartylibwebrtclibwebrtcxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj (211901 => 211902)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj        2017-02-08 22:04:38 UTC (rev 211901)
+++ trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj        2017-02-08 22:26:57 UTC (rev 211902)
</span><span class="lines">@@ -2469,18 +2469,19 @@
</span><span class="cx">                 5CDD90831E43D15C00621E92 /* nonlinear_beamformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CDD90731E43D15C00621E92 /* nonlinear_beamformer.h */; };
</span><span class="cx">                 5CFD53601E4BA34B00482908 /* helpers_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD535F1E4BA34B00482908 /* helpers_ios.mm */; };
</span><span class="cx">                 5CFD536C1E4BA4DC00482908 /* RTCAudioSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53631E4BA4DC00482908 /* RTCAudioSession.h */; };
</span><del>-                5CFD536D1E4BA4DC00482908 /* RTCAudioSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53641E4BA4DC00482908 /* RTCAudioSession.mm */; };
-                5CFD536E1E4BA4DC00482908 /* RTCAudioSession+Configuration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53651E4BA4DC00482908 /* RTCAudioSession+Configuration.mm */; };
</del><ins>+                5CFD536D1E4BA4DC00482908 /* RTCAudioSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53641E4BA4DC00482908 /* RTCAudioSession.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
+                5CFD536E1E4BA4DC00482908 /* RTCAudioSession+Configuration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53651E4BA4DC00482908 /* RTCAudioSession+Configuration.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
</ins><span class="cx">                 5CFD536F1E4BA4DC00482908 /* RTCAudioSession+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53661E4BA4DC00482908 /* RTCAudioSession+Private.h */; };
</span><span class="cx">                 5CFD53701E4BA4DC00482908 /* RTCAudioSessionConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53671E4BA4DC00482908 /* RTCAudioSessionConfiguration.h */; };
</span><del>-                5CFD53711E4BA4DC00482908 /* RTCAudioSessionConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53681E4BA4DC00482908 /* RTCAudioSessionConfiguration.m */; };
</del><ins>+                5CFD53711E4BA4DC00482908 /* RTCAudioSessionConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53681E4BA4DC00482908 /* RTCAudioSessionConfiguration.m */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
</ins><span class="cx">                 5CFD53721E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53691E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.h */; };
</span><del>-                5CFD53731E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD536A1E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm */; };
</del><ins>+                5CFD53731E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD536A1E4BA4DC00482908 /* RTCAudioSessionDelegateAdapter.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
</ins><span class="cx">                 5CFD537C1E4BA4F500482908 /* audio_device_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53751E4BA4F500482908 /* audio_device_ios.h */; };
</span><span class="cx">                 5CFD537D1E4BA4F500482908 /* audio_device_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53761E4BA4F500482908 /* audio_device_ios.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
</span><span class="cx">                 5CFD53801E4BA4F500482908 /* audio_session_observer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD53791E4BA4F500482908 /* audio_session_observer.h */; };
</span><span class="cx">                 5CFD53811E4BA4F500482908 /* voice_processing_audio_unit.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */; };
</span><del>-                5CFD53821E4BA4F500482908 /* voice_processing_audio_unit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */; };
</del><ins>+                5CFD53821E4BA4F500482908 /* voice_processing_audio_unit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
+                5CFD53841E4BBD8D00482908 /* audio_device_not_implemented_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };
</ins><span class="cx"> /* End PBXBuildFile section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXContainerItemProxy section */
</span><span class="lines">@@ -5184,6 +5185,7 @@
</span><span class="cx">                 5CFD53791E4BA4F500482908 /* audio_session_observer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_session_observer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_processing_audio_unit.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = voice_processing_audio_unit.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = audio_device_not_implemented_ios.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 5D7C59C51208C68B001C873E /* libwebrtc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = libwebrtc.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5D7C59C61208C68B001C873E /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9130,6 +9132,7 @@
</span><span class="cx">                                 5CFD53621E4BA4C600482908 /* objc */,
</span><span class="cx">                                 5CFD53751E4BA4F500482908 /* audio_device_ios.h */,
</span><span class="cx">                                 5CFD53761E4BA4F500482908 /* audio_device_ios.mm */,
</span><ins>+                                5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */,
</ins><span class="cx">                                 5CFD53791E4BA4F500482908 /* audio_session_observer.h */,
</span><span class="cx">                                 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */,
</span><span class="cx">                                 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */,
</span><span class="lines">@@ -11208,6 +11211,7 @@
</span><span class="cx">                                 5C11A0001E457400004F0987 /* audio_device_impl.cc in Sources */,
</span><span class="cx">                                 5CFD537D1E4BA4F500482908 /* audio_device_ios.mm in Sources */,
</span><span class="cx">                                 5C11A00B1E457448004F0987 /* audio_device_mac.cc in Sources */,
</span><ins>+                                5CFD53841E4BBD8D00482908 /* audio_device_not_implemented_ios.mm in Sources */,
</ins><span class="cx">                                 5CDD84171E439B2900621E92 /* audio_encoder.cc in Sources */,
</span><span class="cx">                                 5CDD8CA71E43C6F700621E92 /* audio_encoder_cng.cc in Sources */,
</span><span class="cx">                                 5CDD8FF31E43CDF400621E92 /* audio_encoder_copy_red.cc in Sources */,
</span></span></pre>
</div>
</div>

</body>
</html>