diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.cc b/modules/rtp_rtcp/source/rtp_header_extensions.cc
index b77c293..43770a7 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.cc
@@ -181,23 +181,6 @@
   return true;
 }
 
-bool AudioLevelExtension::Parse(rtc::ArrayView<const uint8_t> data,
-                                bool* voice_activity,
-                                uint8_t* audio_level) {
-  AudioLevel extension;
-  Parse(data, &extension);
-  *voice_activity = extension.voice_activity();
-  *audio_level = extension.level();
-  return true;
-}
-
-bool AudioLevelExtension::Write(rtc::ArrayView<uint8_t> data,
-                                bool voice_activity,
-                                uint8_t audio_level) {
-  AudioLevel extension(voice_activity, audio_level);
-  return Write(data, extension);
-}
-
 // An RTP Header Extension for Mixer-to-Client Audio Level Indication
 //
 // https://tools.ietf.org/html/rfc6465
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.h b/modules/rtp_rtcp/source/rtp_header_extensions.h
index 941b79a..23a0aec 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.h
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.h
@@ -96,18 +96,6 @@
     return kValueSizeBytes;
   }
   static bool Write(rtc::ArrayView<uint8_t> data, const AudioLevel& extension);
-
-  [[deprecated("Use AudioLevel struct")]] static bool Parse(
-      rtc::ArrayView<const uint8_t> data,
-      bool* voice_activity,
-      uint8_t* audio_level);
-  [[deprecated("Use AudioLevel struct")]] static size_t ValueSize(
-      bool voice_activity,
-      uint8_t audio_level) {
-    return kValueSizeBytes;
-  }
-  [[deprecated("Use AudioLevel struct")]] static bool
-  Write(rtc::ArrayView<uint8_t> data, bool voice_activity, uint8_t audio_level);
 };
 
 class CsrcAudioLevel {
