diff --git a/media/libaudioclient/AidlConversion.cpp b/media/libaudioclient/AidlConversion.cpp
index 946ec17..d250440 100644
--- a/media/libaudioclient/AidlConversion.cpp
+++ b/media/libaudioclient/AidlConversion.cpp
@@ -394,17 +394,17 @@
 }
 
 ConversionResult<audio_format_t> aidl2legacy_AudioFormat_audio_format_t(
-        media::audio::common::AudioFormat aidl) {
-    // This relies on AudioFormat being kept in sync with audio_format_t.
-    static_assert(sizeof(media::audio::common::AudioFormat) == sizeof(audio_format_t));
+        media::AudioFormatSys aidl) {
+    // This relies on AudioFormatSys being kept in sync with audio_format_t.
+    static_assert(sizeof(media::AudioFormatSys) == sizeof(audio_format_t));
     return static_cast<audio_format_t>(aidl);
 }
 
-ConversionResult<media::audio::common::AudioFormat> legacy2aidl_audio_format_t_AudioFormat(
+ConversionResult<media::AudioFormatSys> legacy2aidl_audio_format_t_AudioFormat(
         audio_format_t legacy) {
-    // This relies on AudioFormat being kept in sync with audio_format_t.
-    static_assert(sizeof(media::audio::common::AudioFormat) == sizeof(audio_format_t));
-    return static_cast<media::audio::common::AudioFormat>(legacy);
+    // This relies on AudioFormatSys being kept in sync with audio_format_t.
+    static_assert(sizeof(media::AudioFormatSys) == sizeof(audio_format_t));
+    return static_cast<media::AudioFormatSys>(legacy);
 }
 
 ConversionResult<audio_gain_mode_t> aidl2legacy_AudioGainMode_audio_gain_mode_t(media::AudioGainMode aidl) {
