diff --git a/sdk/objc/components/audio/RTCAudioDevice.h b/sdk/objc/components/audio/RTCAudioDevice.h
index 7f4509e..f445825 100644
--- a/sdk/objc/components/audio/RTCAudioDevice.h
+++ b/sdk/objc/components/audio/RTCAudioDevice.h
@@ -171,7 +171,7 @@
      * must be notified back to native ADM via `-[RTCAudioDeviceDelegate
      * notifyAudioParametersChange]`.
      */
-    @property(readonly) double inputSampleRate;
+    @property(readonly) double deviceInputSampleRate;
 
 /**
  * Indicates current size of record buffer. Changes to this property
@@ -194,7 +194,7 @@
  * Indicates current sample rate of audio playback. Changes to this property
  * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`.
  */
-@property(readonly) double outputSampleRate;
+@property(readonly) double deviceOutputSampleRate;
 
 /**
  * Indicates current size of playback buffer. Changes to this property
@@ -230,7 +230,7 @@
  * De-initializes RTCAudioDevice. Implementation should forget about `delegate` provided in
  * `initializeWithDelegate`.
  */
-- (BOOL)terminate;
+- (BOOL)terminateDevice;
 
 /**
  * Property to indicate if `initializePlayout` call required before invocation of `startPlayout`.
diff --git a/sdk/objc/native/src/objc_audio_device.mm b/sdk/objc/native/src/objc_audio_device.mm
index 5133346..d629fae 100644
--- a/sdk/objc/native/src/objc_audio_device.mm
+++ b/sdk/objc/native/src/objc_audio_device.mm
@@ -22,7 +22,7 @@
 namespace {
 
 webrtc::AudioParameters RecordParameters(id<RTC_OBJC_TYPE(RTCAudioDevice)> audio_device) {
-  const double sample_rate = static_cast<int>([audio_device inputSampleRate]);
+  const double sample_rate = static_cast<int>([audio_device deviceInputSampleRate]);
   const size_t channels = static_cast<size_t>([audio_device inputNumberOfChannels]);
   const size_t frames_per_buffer =
       static_cast<size_t>(sample_rate * [audio_device inputIOBufferDuration] + .5);
@@ -30,7 +30,7 @@
 }
 
 webrtc::AudioParameters PlayoutParameters(id<RTC_OBJC_TYPE(RTCAudioDevice)> audio_device) {
-  const double sample_rate = static_cast<int>([audio_device outputSampleRate]);
+  const double sample_rate = static_cast<int>([audio_device deviceOutputSampleRate]);
   const size_t channels = static_cast<size_t>([audio_device outputNumberOfChannels]);
   const size_t frames_per_buffer =
       static_cast<size_t>(sample_rate * [audio_device outputIOBufferDuration] + .5);
@@ -112,7 +112,7 @@
   }
 
   if ([audio_device_ isInitialized]) {
-    if (![audio_device_ terminate]) {
+    if (![audio_device_ terminateDevice]) {
       RTC_LOG_F(LS_ERROR) << "Failed to terminate audio device";
       return -1;
     }
