1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #pragma once 18 19 #include <limits> 20 #include <type_traits> 21 22 #include <system/audio.h> 23 24 #include <android/media/AudioAttributesInternal.h> 25 #include <android/media/AudioClient.h> 26 #include <android/media/AudioDirectMode.h> 27 #include <android/media/AudioDualMonoMode.h> 28 #include <android/media/AudioFlag.h> 29 #include <android/media/AudioIoConfigEvent.h> 30 #include <android/media/AudioIoDescriptor.h> 31 #include <android/media/AudioPlaybackRate.h> 32 #include <android/media/AudioPort.h> 33 #include <android/media/AudioPortConfig.h> 34 #include <android/media/AudioPortDeviceExtSys.h> 35 #include <android/media/AudioTimestampInternal.h> 36 #include <android/media/AudioUniqueIdUse.h> 37 #include <android/media/EffectDescriptor.h> 38 #include <android/media/LatencyMode.h> 39 #include <android/media/TrackSecondaryOutputInfo.h> 40 #include <android/media/audio/common/AudioChannelLayout.h> 41 #include <android/media/audio/common/AudioConfig.h> 42 #include <android/media/audio/common/AudioConfigBase.h> 43 #include <android/media/audio/common/AudioContentType.h> 44 #include <android/media/audio/common/AudioDeviceDescription.h> 45 #include <android/media/audio/common/AudioEncapsulationMetadataType.h> 46 #include <android/media/audio/common/AudioEncapsulationMode.h> 47 #include <android/media/audio/common/AudioEncapsulationType.h> 48 #include <android/media/audio/common/AudioFormatDescription.h> 49 #include <android/media/audio/common/AudioGain.h> 50 #include <android/media/audio/common/AudioGainConfig.h> 51 #include <android/media/audio/common/AudioGainMode.h> 52 #include <android/media/audio/common/AudioInputFlags.h> 53 #include <android/media/audio/common/AudioMode.h> 54 #include <android/media/audio/common/AudioOffloadInfo.h> 55 #include <android/media/audio/common/AudioOutputFlags.h> 56 #include <android/media/audio/common/AudioPortExt.h> 57 #include <android/media/audio/common/AudioPortMixExt.h> 58 #include <android/media/audio/common/AudioProfile.h> 59 #include <android/media/audio/common/AudioSource.h> 60 #include <android/media/audio/common/AudioStandard.h> 61 #include <android/media/audio/common/AudioUsage.h> 62 #include <android/media/audio/common/AudioUuid.h> 63 #include <android/media/audio/common/ExtraAudioDescriptor.h> 64 65 #include <android/media/SharedFileRegion.h> 66 #include <binder/IMemory.h> 67 #include <media/AidlConversionUtil.h> 68 #include <media/AudioClient.h> 69 #include <media/AudioCommonTypes.h> 70 #include <media/AudioIoDescriptor.h> 71 #include <media/AudioTimestamp.h> 72 #include <system/audio_effect.h> 73 74 namespace android { 75 76 // maxSize is the size of the C-string buffer (including the 0-terminator), NOT the max length of 77 // the string. 78 status_t aidl2legacy_string(std::string_view aidl, char* dest, size_t maxSize); 79 ConversionResult<std::string> legacy2aidl_string(const char* legacy, size_t maxSize); 80 81 ConversionResult<audio_module_handle_t> aidl2legacy_int32_t_audio_module_handle_t(int32_t aidl); 82 ConversionResult<int32_t> legacy2aidl_audio_module_handle_t_int32_t(audio_module_handle_t legacy); 83 84 ConversionResult<audio_io_handle_t> aidl2legacy_int32_t_audio_io_handle_t(int32_t aidl); 85 ConversionResult<int32_t> legacy2aidl_audio_io_handle_t_int32_t(audio_io_handle_t legacy); 86 87 ConversionResult<audio_port_handle_t> aidl2legacy_int32_t_audio_port_handle_t(int32_t aidl); 88 ConversionResult<int32_t> legacy2aidl_audio_port_handle_t_int32_t(audio_port_handle_t legacy); 89 90 ConversionResult<audio_patch_handle_t> aidl2legacy_int32_t_audio_patch_handle_t(int32_t aidl); 91 ConversionResult<int32_t> legacy2aidl_audio_patch_handle_t_int32_t(audio_patch_handle_t legacy); 92 93 ConversionResult<audio_unique_id_t> aidl2legacy_int32_t_audio_unique_id_t(int32_t aidl); 94 ConversionResult<int32_t> legacy2aidl_audio_unique_id_t_int32_t(audio_unique_id_t legacy); 95 96 ConversionResult<audio_hw_sync_t> aidl2legacy_int32_t_audio_hw_sync_t(int32_t aidl); 97 ConversionResult<int32_t> legacy2aidl_audio_hw_sync_t_int32_t(audio_hw_sync_t legacy); 98 99 ConversionResult<unsigned int> aidl2legacy_int32_t_config_mask(int32_t aidl); 100 ConversionResult<int32_t> legacy2aidl_config_mask_int32_t(unsigned int legacy); 101 102 ConversionResult<pid_t> aidl2legacy_int32_t_pid_t(int32_t aidl); 103 ConversionResult<int32_t> legacy2aidl_pid_t_int32_t(pid_t legacy); 104 105 ConversionResult<uid_t> aidl2legacy_int32_t_uid_t(int32_t aidl); 106 ConversionResult<int32_t> legacy2aidl_uid_t_int32_t(uid_t legacy); 107 108 ConversionResult<String8> aidl2legacy_string_view_String8(std::string_view aidl); 109 ConversionResult<std::string> legacy2aidl_String8_string(const String8& legacy); 110 111 ConversionResult<String16> aidl2legacy_string_view_String16(std::string_view aidl); 112 ConversionResult<std::string> legacy2aidl_String16_string(const String16& legacy); 113 114 ConversionResult<std::optional<String16>> 115 aidl2legacy_optional_string_view_optional_String16(std::optional<std::string_view> aidl); 116 ConversionResult<std::optional<std::string_view>> 117 legacy2aidl_optional_String16_optional_string(std::optional<String16> legacy); 118 119 ConversionResult<audio_io_config_event_t> aidl2legacy_AudioIoConfigEvent_audio_io_config_event_t( 120 media::AudioIoConfigEvent aidl); 121 ConversionResult<media::AudioIoConfigEvent> legacy2aidl_audio_io_config_event_t_AudioIoConfigEvent( 122 audio_io_config_event_t legacy); 123 124 ConversionResult<audio_port_role_t> aidl2legacy_AudioPortRole_audio_port_role_t( 125 media::AudioPortRole aidl); 126 ConversionResult<media::AudioPortRole> legacy2aidl_audio_port_role_t_AudioPortRole( 127 audio_port_role_t legacy); 128 129 ConversionResult<audio_port_type_t> aidl2legacy_AudioPortType_audio_port_type_t( 130 media::AudioPortType aidl); 131 ConversionResult<media::AudioPortType> legacy2aidl_audio_port_type_t_AudioPortType( 132 audio_port_type_t legacy); 133 134 ConversionResult<audio_channel_mask_t> aidl2legacy_AudioChannelLayout_audio_channel_mask_t( 135 const media::audio::common::AudioChannelLayout& aidl, bool isInput); 136 ConversionResult<media::audio::common::AudioChannelLayout> 137 legacy2aidl_audio_channel_mask_t_AudioChannelLayout(audio_channel_mask_t legacy, bool isInput); 138 139 ConversionResult<audio_devices_t> aidl2legacy_AudioDeviceDescription_audio_devices_t( 140 const media::audio::common::AudioDeviceDescription& aidl); 141 ConversionResult<media::audio::common::AudioDeviceDescription> 142 legacy2aidl_audio_devices_t_AudioDeviceDescription(audio_devices_t legacy); 143 144 status_t aidl2legacy_AudioDevice_audio_device( 145 const media::audio::common::AudioDevice& aidl, 146 audio_devices_t* legacyType, char* legacyAddress); 147 status_t aidl2legacy_AudioDevice_audio_device( 148 const media::audio::common::AudioDevice& aidl, 149 audio_devices_t* legacyType, String8* legacyAddress); 150 status_t aidl2legacy_AudioDevice_audio_device( 151 const media::audio::common::AudioDevice& aidl, 152 audio_devices_t* legacyType, std::string* legacyAddress); 153 ConversionResult<media::audio::common::AudioDevice> 154 legacy2aidl_audio_device_AudioDevice( 155 audio_devices_t legacyType, const char* legacyAddress); 156 ConversionResult<media::audio::common::AudioDevice> 157 legacy2aidl_audio_device_AudioDevice( 158 audio_devices_t legacyType, const String8& legacyAddress); 159 160 ConversionResult<audio_format_t> aidl2legacy_AudioFormatDescription_audio_format_t( 161 const media::audio::common::AudioFormatDescription& aidl); 162 ConversionResult<media::audio::common::AudioFormatDescription> 163 legacy2aidl_audio_format_t_AudioFormatDescription(audio_format_t legacy); 164 165 ConversionResult<audio_gain_mode_t> 166 aidl2legacy_AudioGainMode_audio_gain_mode_t(media::audio::common::AudioGainMode aidl); 167 ConversionResult<media::audio::common::AudioGainMode> 168 legacy2aidl_audio_gain_mode_t_AudioGainMode(audio_gain_mode_t legacy); 169 170 ConversionResult<audio_gain_mode_t> aidl2legacy_int32_t_audio_gain_mode_t_mask(int32_t aidl); 171 ConversionResult<int32_t> legacy2aidl_audio_gain_mode_t_int32_t_mask(audio_gain_mode_t legacy); 172 173 ConversionResult<audio_gain_config> aidl2legacy_AudioGainConfig_audio_gain_config( 174 const media::audio::common::AudioGainConfig& aidl, bool isInput); 175 ConversionResult<media::audio::common::AudioGainConfig> 176 legacy2aidl_audio_gain_config_AudioGainConfig(const audio_gain_config& legacy, bool isInput); 177 178 ConversionResult<audio_input_flags_t> 179 aidl2legacy_AudioInputFlags_audio_input_flags_t(media::audio::common::AudioInputFlags aidl); 180 ConversionResult<media::audio::common::AudioInputFlags> 181 legacy2aidl_audio_input_flags_t_AudioInputFlags(audio_input_flags_t legacy); 182 183 ConversionResult<audio_output_flags_t> 184 aidl2legacy_AudioOutputFlags_audio_output_flags_t(media::audio::common::AudioOutputFlags aidl); 185 ConversionResult<media::audio::common::AudioOutputFlags> 186 legacy2aidl_audio_output_flags_t_AudioOutputFlags(audio_output_flags_t legacy); 187 188 ConversionResult<audio_input_flags_t> aidl2legacy_int32_t_audio_input_flags_t_mask( 189 int32_t aidl); 190 ConversionResult<int32_t> legacy2aidl_audio_input_flags_t_int32_t_mask( 191 audio_input_flags_t legacy); 192 193 ConversionResult<audio_output_flags_t> aidl2legacy_int32_t_audio_output_flags_t_mask( 194 int32_t aidl); 195 ConversionResult<int32_t> legacy2aidl_audio_output_flags_t_int32_t_mask( 196 audio_output_flags_t legacy); 197 198 ConversionResult<audio_io_flags> aidl2legacy_AudioIoFlags_audio_io_flags( 199 const media::audio::common::AudioIoFlags& aidl, bool isInput); 200 ConversionResult<media::audio::common::AudioIoFlags> legacy2aidl_audio_io_flags_AudioIoFlags( 201 const audio_io_flags& legacy, bool isInput); 202 203 ConversionResult<audio_port_config_device_ext> 204 aidl2legacy_AudioPortDeviceExt_audio_port_config_device_ext( 205 const media::audio::common::AudioPortDeviceExt& aidl, 206 const media::AudioPortDeviceExtSys& aidlDeviceExt); 207 status_t legacy2aidl_audio_port_config_device_ext_AudioPortDeviceExt( 208 const audio_port_config_device_ext& legacy, 209 media::audio::common::AudioPortDeviceExt* aidl, 210 media::AudioPortDeviceExtSys* aidlDeviceExt); 211 212 ConversionResult<audio_stream_type_t> aidl2legacy_AudioStreamType_audio_stream_type_t( 213 media::audio::common::AudioStreamType aidl); 214 ConversionResult<media::audio::common::AudioStreamType> 215 legacy2aidl_audio_stream_type_t_AudioStreamType(audio_stream_type_t legacy); 216 217 ConversionResult<audio_source_t> aidl2legacy_AudioSource_audio_source_t( 218 media::audio::common::AudioSource aidl); 219 ConversionResult<media::audio::common::AudioSource> 220 legacy2aidl_audio_source_t_AudioSource( 221 audio_source_t legacy); 222 223 ConversionResult<audio_session_t> aidl2legacy_int32_t_audio_session_t(int32_t aidl); 224 ConversionResult<int32_t> legacy2aidl_audio_session_t_int32_t(audio_session_t legacy); 225 226 ConversionResult<audio_port_config_mix_ext> aidl2legacy_AudioPortMixExt( 227 const media::audio::common::AudioPortMixExt& aidl, media::AudioPortRole role, 228 const media::AudioPortMixExtSys& aidlMixExt); 229 status_t legacy2aidl_AudioPortMixExt( 230 const audio_port_config_mix_ext& legacy, audio_port_role_t role, 231 media::audio::common::AudioPortMixExt* aidl, media::AudioPortMixExtSys* aidlMixExt); 232 233 ConversionResult<audio_port_config_session_ext> 234 aidl2legacy_int32_t_audio_port_config_session_ext(int32_t aidl); 235 ConversionResult<int32_t> legacy2aidl_audio_port_config_session_ext_AudioPortConfigSessionExt( 236 const audio_port_config_session_ext& legacy); 237 238 ConversionResult<audio_port_config> aidl2legacy_AudioPortConfig_audio_port_config( 239 const media::AudioPortConfig& aidl); 240 ConversionResult<media::AudioPortConfig> legacy2aidl_audio_port_config_AudioPortConfig( 241 const audio_port_config& legacy); 242 243 ConversionResult<struct audio_patch> aidl2legacy_AudioPatch_audio_patch( 244 const media::AudioPatch& aidl); 245 ConversionResult<media::AudioPatch> legacy2aidl_audio_patch_AudioPatch( 246 const struct audio_patch& legacy); 247 248 ConversionResult<sp<AudioIoDescriptor>> aidl2legacy_AudioIoDescriptor_AudioIoDescriptor( 249 const media::AudioIoDescriptor& aidl); 250 ConversionResult<media::AudioIoDescriptor> legacy2aidl_AudioIoDescriptor_AudioIoDescriptor( 251 const sp<AudioIoDescriptor>& legacy); 252 253 ConversionResult<AudioClient> aidl2legacy_AudioClient_AudioClient( 254 const media::AudioClient& aidl); 255 ConversionResult<media::AudioClient> legacy2aidl_AudioClient_AudioClient( 256 const AudioClient& legacy); 257 258 ConversionResult<audio_content_type_t> 259 aidl2legacy_AudioContentType_audio_content_type_t( 260 media::audio::common::AudioContentType aidl); 261 ConversionResult<media::audio::common::AudioContentType> 262 legacy2aidl_audio_content_type_t_AudioContentType(audio_content_type_t legacy); 263 264 ConversionResult<audio_usage_t> 265 aidl2legacy_AudioUsage_audio_usage_t(media::audio::common::AudioUsage aidl); 266 ConversionResult<media::audio::common::AudioUsage> 267 legacy2aidl_audio_usage_t_AudioUsage(audio_usage_t legacy); 268 269 ConversionResult<audio_flags_mask_t> 270 aidl2legacy_AudioFlag_audio_flags_mask_t(media::AudioFlag aidl); 271 ConversionResult<media::AudioFlag> 272 legacy2aidl_audio_flags_mask_t_AudioFlag(audio_flags_mask_t legacy); 273 274 ConversionResult<audio_flags_mask_t> 275 aidl2legacy_int32_t_audio_flags_mask_t_mask(int32_t aidl); 276 ConversionResult<int32_t> 277 legacy2aidl_audio_flags_mask_t_int32_t_mask(audio_flags_mask_t legacy); 278 279 ConversionResult<audio_attributes_t> 280 aidl2legacy_AudioAttributesInternal_audio_attributes_t(const media::AudioAttributesInternal& aidl); 281 ConversionResult<media::AudioAttributesInternal> 282 legacy2aidl_audio_attributes_t_AudioAttributesInternal(const audio_attributes_t& legacy); 283 284 ConversionResult<audio_encapsulation_mode_t> 285 aidl2legacy_AudioEncapsulationMode_audio_encapsulation_mode_t( 286 media::audio::common::AudioEncapsulationMode aidl); 287 ConversionResult<media::audio::common::AudioEncapsulationMode> 288 legacy2aidl_audio_encapsulation_mode_t_AudioEncapsulationMode(audio_encapsulation_mode_t legacy); 289 290 ConversionResult<audio_offload_info_t> 291 aidl2legacy_AudioOffloadInfo_audio_offload_info_t( 292 const media::audio::common::AudioOffloadInfo& aidl); 293 ConversionResult<media::audio::common::AudioOffloadInfo> 294 legacy2aidl_audio_offload_info_t_AudioOffloadInfo(const audio_offload_info_t& legacy); 295 296 ConversionResult<audio_config_t> 297 aidl2legacy_AudioConfig_audio_config_t(const media::audio::common::AudioConfig& aidl, bool isInput); 298 ConversionResult<media::audio::common::AudioConfig> 299 legacy2aidl_audio_config_t_AudioConfig(const audio_config_t& legacy, bool isInput); 300 301 ConversionResult<audio_config_base_t> 302 aidl2legacy_AudioConfigBase_audio_config_base_t( 303 const media::audio::common::AudioConfigBase& aidl, bool isInput); 304 ConversionResult<media::audio::common::AudioConfigBase> 305 legacy2aidl_audio_config_base_t_AudioConfigBase(const audio_config_base_t& legacy, bool isInput); 306 307 ConversionResult<sp<IMemory>> 308 aidl2legacy_SharedFileRegion_IMemory(const media::SharedFileRegion& aidl); 309 ConversionResult<media::SharedFileRegion> 310 legacy2aidl_IMemory_SharedFileRegion(const sp<IMemory>& legacy); 311 312 ConversionResult<sp<IMemory>> 313 aidl2legacy_NullableSharedFileRegion_IMemory(const std::optional<media::SharedFileRegion>& aidl); 314 ConversionResult<std::optional<media::SharedFileRegion>> 315 legacy2aidl_NullableIMemory_SharedFileRegion(const sp<IMemory>& legacy); 316 317 ConversionResult<AudioTimestamp> 318 aidl2legacy_AudioTimestampInternal_AudioTimestamp(const media::AudioTimestampInternal& aidl); 319 ConversionResult<media::AudioTimestampInternal> 320 legacy2aidl_AudioTimestamp_AudioTimestampInternal(const AudioTimestamp& legacy); 321 322 ConversionResult<audio_uuid_t> 323 aidl2legacy_AudioUuid_audio_uuid_t(const media::audio::common::AudioUuid& aidl); 324 ConversionResult<media::audio::common::AudioUuid> 325 legacy2aidl_audio_uuid_t_AudioUuid(const audio_uuid_t& legacy); 326 327 ConversionResult<effect_descriptor_t> 328 aidl2legacy_EffectDescriptor_effect_descriptor_t(const media::EffectDescriptor& aidl); 329 ConversionResult<media::EffectDescriptor> 330 legacy2aidl_effect_descriptor_t_EffectDescriptor(const effect_descriptor_t& legacy); 331 332 ConversionResult<audio_encapsulation_metadata_type_t> 333 aidl2legacy_AudioEncapsulationMetadataType_audio_encapsulation_metadata_type_t( 334 media::audio::common::AudioEncapsulationMetadataType aidl); 335 ConversionResult<media::audio::common::AudioEncapsulationMetadataType> 336 legacy2aidl_audio_encapsulation_metadata_type_t_AudioEncapsulationMetadataType( 337 audio_encapsulation_metadata_type_t legacy); 338 339 ConversionResult<uint32_t> 340 aidl2legacy_AudioEncapsulationMode_mask(int32_t aidl); 341 ConversionResult<int32_t> 342 legacy2aidl_AudioEncapsulationMode_mask(uint32_t legacy); 343 344 ConversionResult<uint32_t> 345 aidl2legacy_AudioEncapsulationMetadataType_mask(int32_t aidl); 346 ConversionResult<int32_t> 347 legacy2aidl_AudioEncapsulationMetadataType_mask(uint32_t legacy); 348 349 ConversionResult<audio_port_device_ext> 350 aidl2legacy_AudioPortDeviceExt_audio_port_device_ext( 351 const media::audio::common::AudioPortDeviceExt& aidl, 352 const media::AudioPortDeviceExtSys& aidlDeviceExt); 353 status_t legacy2aidl_audio_port_device_ext_AudioPortDeviceExt( 354 const audio_port_device_ext& legacy, 355 media::audio::common::AudioPortDeviceExt* aidl, 356 media::AudioPortDeviceExtSys* aidlDeviceExt); 357 358 ConversionResult<audio_port_mix_ext> 359 aidl2legacy_AudioPortMixExt_audio_port_mix_ext( 360 const media::audio::common::AudioPortMixExt& aidl, 361 const media::AudioPortMixExtSys& aidlMixExt); 362 status_t legacy2aidl_audio_port_mix_ext_AudioPortMixExt( 363 const audio_port_mix_ext& legacy, 364 media::audio::common::AudioPortMixExt* aidl, 365 media::AudioPortMixExtSys* aidlMixExt); 366 367 ConversionResult<audio_port_session_ext> 368 aidl2legacy_int32_t_audio_port_session_ext(int32_t aidl); 369 ConversionResult<int32_t> 370 legacy2aidl_audio_port_session_ext_int32_t(const audio_port_session_ext& legacy); 371 372 ConversionResult<audio_profile> 373 aidl2legacy_AudioProfile_audio_profile( 374 const media::audio::common::AudioProfile& aidl, bool isInput); 375 ConversionResult<media::audio::common::AudioProfile> 376 legacy2aidl_audio_profile_AudioProfile(const audio_profile& legacy, bool isInput); 377 378 ConversionResult<audio_gain> 379 aidl2legacy_AudioGain_audio_gain(const media::audio::common::AudioGain& aidl, bool isInput); 380 ConversionResult<media::audio::common::AudioGain> 381 legacy2aidl_audio_gain_AudioGain(const audio_gain& legacy, bool isInput); 382 383 ConversionResult<audio_port_v7> 384 aidl2legacy_AudioPort_audio_port_v7(const media::AudioPort& aidl); 385 ConversionResult<media::AudioPort> 386 legacy2aidl_audio_port_v7_AudioPort(const audio_port_v7& legacy); 387 388 ConversionResult<audio_mode_t> 389 aidl2legacy_AudioMode_audio_mode_t(media::audio::common::AudioMode aidl); 390 ConversionResult<media::audio::common::AudioMode> 391 legacy2aidl_audio_mode_t_AudioMode(audio_mode_t legacy); 392 393 ConversionResult<audio_unique_id_use_t> 394 aidl2legacy_AudioUniqueIdUse_audio_unique_id_use_t(media::AudioUniqueIdUse aidl); 395 ConversionResult<media::AudioUniqueIdUse> 396 legacy2aidl_audio_unique_id_use_t_AudioUniqueIdUse(audio_unique_id_use_t legacy); 397 398 ConversionResult<volume_group_t> 399 aidl2legacy_int32_t_volume_group_t(int32_t aidl); 400 ConversionResult<int32_t> 401 legacy2aidl_volume_group_t_int32_t(volume_group_t legacy); 402 403 ConversionResult<audio_dual_mono_mode_t> 404 aidl2legacy_AudioDualMonoMode_audio_dual_mono_mode_t(media::AudioDualMonoMode aidl); 405 ConversionResult<media::AudioDualMonoMode> 406 legacy2aidl_audio_dual_mono_mode_t_AudioDualMonoMode(audio_dual_mono_mode_t legacy); 407 408 ConversionResult<audio_timestretch_fallback_mode_t> 409 aidl2legacy_int32_t_audio_timestretch_fallback_mode_t(int32_t aidl); 410 ConversionResult<int32_t> 411 legacy2aidl_audio_timestretch_fallback_mode_t_int32_t(audio_timestretch_fallback_mode_t legacy); 412 413 ConversionResult<audio_timestretch_stretch_mode_t> 414 aidl2legacy_int32_t_audio_timestretch_stretch_mode_t(int32_t aidl); 415 ConversionResult<int32_t> 416 legacy2aidl_audio_timestretch_stretch_mode_t_int32_t(audio_timestretch_stretch_mode_t legacy); 417 418 ConversionResult<audio_playback_rate_t> 419 aidl2legacy_AudioPlaybackRate_audio_playback_rate_t(const media::AudioPlaybackRate& aidl); 420 ConversionResult<media::AudioPlaybackRate> 421 legacy2aidl_audio_playback_rate_t_AudioPlaybackRate(const audio_playback_rate_t& legacy); 422 423 ConversionResult<audio_standard_t> 424 aidl2legacy_AudioStandard_audio_standard_t(media::audio::common::AudioStandard aidl); 425 ConversionResult<media::audio::common::AudioStandard> 426 legacy2aidl_audio_standard_t_AudioStandard(audio_standard_t legacy); 427 428 ConversionResult<audio_extra_audio_descriptor> 429 aidl2legacy_ExtraAudioDescriptor_audio_extra_audio_descriptor( 430 const media::audio::common::ExtraAudioDescriptor& aidl); 431 ConversionResult<media::audio::common::ExtraAudioDescriptor> 432 legacy2aidl_audio_extra_audio_descriptor_ExtraAudioDescriptor( 433 const audio_extra_audio_descriptor& legacy); 434 435 ConversionResult<audio_encapsulation_type_t> 436 aidl2legacy_AudioEncapsulationType_audio_encapsulation_type_t( 437 const media::audio::common::AudioEncapsulationType& aidl); 438 ConversionResult<media::audio::common::AudioEncapsulationType> 439 legacy2aidl_audio_encapsulation_type_t_AudioEncapsulationType( 440 const audio_encapsulation_type_t & legacy); 441 442 using TrackSecondaryOutputInfoPair = std::pair<audio_port_handle_t, std::vector<audio_io_handle_t>>; 443 ConversionResult<TrackSecondaryOutputInfoPair> 444 aidl2legacy_TrackSecondaryOutputInfo_TrackSecondaryOutputInfoPair( 445 const media::TrackSecondaryOutputInfo& aidl); 446 ConversionResult<media::TrackSecondaryOutputInfo> 447 legacy2aidl_TrackSecondaryOutputInfoPair_TrackSecondaryOutputInfo( 448 const TrackSecondaryOutputInfoPair& legacy); 449 450 ConversionResult<audio_direct_mode_t> 451 aidl2legacy_AudioDirectMode_audio_direct_mode_t(media::AudioDirectMode aidl); 452 ConversionResult<media::AudioDirectMode> 453 legacy2aidl_audio_direct_mode_t_AudioDirectMode(audio_direct_mode_t legacy); 454 455 ConversionResult<audio_direct_mode_t> aidl2legacy_int32_t_audio_direct_mode_t_mask(int32_t aidl); 456 ConversionResult<int32_t> legacy2aidl_audio_direct_mode_t_int32_t_mask(audio_direct_mode_t legacy); 457 458 ConversionResult<audio_latency_mode_t> 459 aidl2legacy_LatencyMode_audio_latency_mode_t(media::LatencyMode aidl); 460 ConversionResult<media::LatencyMode> 461 legacy2aidl_audio_latency_mode_t_LatencyMode(audio_latency_mode_t legacy); 462 463 } // namespace android 464