1 /* 2 * Copyright (C) 2023 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 // WARNING: This file is intended for multiple inclusion. 18 // Do not include directly, use 'AidlConversionCppNdk.h'. 19 #if (defined(BACKEND_NDK_IMPL) && !defined(AUDIO_AIDL_CONVERSION_AIDL_CONVERSION_CPP_NDK_NDK)) || \ 20 (!defined(BACKEND_NDK_IMPL) && !defined(AUDIO_AIDL_CONVERSION_AIDL_CONVERSION_CPP_NDK_CPP)) 21 #if defined(BACKEND_NDK_IMPL) 22 #define AUDIO_AIDL_CONVERSION_AIDL_CONVERSION_CPP_NDK_NDK 23 #else 24 #define AUDIO_AIDL_CONVERSION_AIDL_CONVERSION_CPP_NDK_CPP 25 #endif // BACKEND_NDK_IMPL 26 27 #include <limits> 28 #include <type_traits> 29 30 /** 31 * Can handle conversion between AIDL (both CPP and NDK backend) and legacy type. 32 * Controlled by the cflags preprocessor in Android.bp. 33 */ 34 #if defined(BACKEND_NDK_IMPL) 35 #define PREFIX(f) <aidl/f> 36 #else 37 #define PREFIX(f) <f> 38 #endif 39 40 #include PREFIX(android/media/audio/common/AudioAttributes.h) 41 #include PREFIX(android/media/audio/common/AudioChannelLayout.h) 42 #include PREFIX(android/media/audio/common/AudioConfig.h) 43 #include PREFIX(android/media/audio/common/AudioConfigBase.h) 44 #include PREFIX(android/media/audio/common/AudioContentType.h) 45 #include PREFIX(android/media/audio/common/AudioDeviceDescription.h) 46 #include PREFIX(android/media/audio/common/AudioDualMonoMode.h) 47 #include PREFIX(android/media/audio/common/AudioEncapsulationMetadataType.h) 48 #include PREFIX(android/media/audio/common/AudioEncapsulationMode.h) 49 #include PREFIX(android/media/audio/common/AudioEncapsulationType.h) 50 #include PREFIX(android/media/audio/common/AudioFlag.h) 51 #include PREFIX(android/media/audio/common/AudioFormatDescription.h) 52 #include PREFIX(android/media/audio/common/AudioGain.h) 53 #include PREFIX(android/media/audio/common/AudioGainConfig.h) 54 #include PREFIX(android/media/audio/common/AudioGainMode.h) 55 #include PREFIX(android/media/audio/common/AudioInputFlags.h) 56 #include PREFIX(android/media/audio/common/AudioIoFlags.h) 57 #include PREFIX(android/media/audio/common/AudioLatencyMode.h) 58 #include PREFIX(android/media/audio/common/AudioMode.h) 59 #include PREFIX(android/media/audio/common/AudioOffloadInfo.h) 60 #include PREFIX(android/media/audio/common/AudioOutputFlags.h) 61 #include PREFIX(android/media/audio/common/AudioPort.h) 62 #include PREFIX(android/media/audio/common/AudioPortConfig.h) 63 #include PREFIX(android/media/audio/common/AudioPortExt.h) 64 #include PREFIX(android/media/audio/common/AudioPortMixExt.h) 65 #include PREFIX(android/media/audio/common/AudioPlaybackRate.h) 66 #include PREFIX(android/media/audio/common/AudioProfile.h) 67 #include PREFIX(android/media/audio/common/AudioSource.h) 68 #include PREFIX(android/media/audio/common/AudioStandard.h) 69 #include PREFIX(android/media/audio/common/AudioUsage.h) 70 #include PREFIX(android/media/audio/common/AudioUuid.h) 71 #include PREFIX(android/media/audio/common/ExtraAudioDescriptor.h) 72 #include PREFIX(android/media/audio/common/Int.h) 73 #include PREFIX(android/media/audio/common/MicrophoneDynamicInfo.h) 74 #include PREFIX(android/media/audio/common/MicrophoneInfo.h) 75 #undef PREFIX 76 77 #include <system/audio.h> 78 #include <system/audio_effect.h> 79 80 #if defined(BACKEND_NDK_IMPL) 81 namespace aidl { 82 #endif 83 84 namespace android { 85 86 // maxSize is the size of the C-string buffer (including the 0-terminator), NOT the max length of 87 // the string. 88 ::android::status_t aidl2legacy_string(std::string_view aidl, char* dest, size_t maxSize); 89 ConversionResult<std::string> legacy2aidl_string(const char* legacy, size_t maxSize); 90 91 ConversionResult<audio_module_handle_t> aidl2legacy_int32_t_audio_module_handle_t(int32_t aidl); 92 ConversionResult<int32_t> legacy2aidl_audio_module_handle_t_int32_t(audio_module_handle_t legacy); 93 94 ConversionResult<audio_io_handle_t> aidl2legacy_int32_t_audio_io_handle_t(int32_t aidl); 95 ConversionResult<int32_t> legacy2aidl_audio_io_handle_t_int32_t(audio_io_handle_t legacy); 96 97 ConversionResult<audio_port_handle_t> aidl2legacy_int32_t_audio_port_handle_t(int32_t aidl); 98 ConversionResult<int32_t> legacy2aidl_audio_port_handle_t_int32_t(audio_port_handle_t legacy); 99 100 ConversionResult<audio_patch_handle_t> aidl2legacy_int32_t_audio_patch_handle_t(int32_t aidl); 101 ConversionResult<int32_t> legacy2aidl_audio_patch_handle_t_int32_t(audio_patch_handle_t legacy); 102 103 ConversionResult<audio_unique_id_t> aidl2legacy_int32_t_audio_unique_id_t(int32_t aidl); 104 ConversionResult<int32_t> legacy2aidl_audio_unique_id_t_int32_t(audio_unique_id_t legacy); 105 106 ConversionResult<audio_hw_sync_t> aidl2legacy_int32_t_audio_hw_sync_t(int32_t aidl); 107 ConversionResult<int32_t> legacy2aidl_audio_hw_sync_t_int32_t(audio_hw_sync_t legacy); 108 109 ConversionResult<unsigned int> aidl2legacy_int32_t_config_mask(int32_t aidl); 110 ConversionResult<int32_t> legacy2aidl_config_mask_int32_t(unsigned int legacy); 111 112 ConversionResult<pid_t> aidl2legacy_int32_t_pid_t(int32_t aidl); 113 ConversionResult<int32_t> legacy2aidl_pid_t_int32_t(pid_t legacy); 114 115 ConversionResult<uid_t> aidl2legacy_int32_t_uid_t(int32_t aidl); 116 ConversionResult<int32_t> legacy2aidl_uid_t_int32_t(uid_t legacy); 117 118 ConversionResult<::android::String8> aidl2legacy_string_view_String8(std::string_view aidl); 119 ConversionResult<std::string> legacy2aidl_String8_string(const ::android::String8& legacy); 120 121 ConversionResult<::android::String16> aidl2legacy_string_view_String16(std::string_view aidl); 122 ConversionResult<std::string> legacy2aidl_String16_string(const ::android::String16& legacy); 123 124 ConversionResult<std::optional<::android::String16>> 125 aidl2legacy_optional_string_view_optional_String16(std::optional<std::string_view> aidl); 126 ConversionResult<std::optional<std::string_view>> 127 legacy2aidl_optional_String16_optional_string(std::optional<::android::String16> legacy); 128 129 ConversionResult<audio_channel_mask_t> aidl2legacy_AudioChannelLayout_audio_channel_mask_t( 130 const media::audio::common::AudioChannelLayout& aidl, bool isInput); 131 ConversionResult<media::audio::common::AudioChannelLayout> 132 legacy2aidl_audio_channel_mask_t_AudioChannelLayout(audio_channel_mask_t legacy, bool isInput); 133 134 audio_channel_mask_t aidl2legacy_AudioChannelLayout_layout_audio_channel_mask_t_bits( 135 int aidlLayout, bool isInput); 136 int legacy2aidl_audio_channel_mask_t_bits_AudioChannelLayout_layout( 137 audio_channel_mask_t legacy, bool isInput); 138 139 enum class AudioPortDirection { 140 INPUT, OUTPUT 141 }; 142 ConversionResult<AudioPortDirection> portDirection(audio_port_role_t role, audio_port_type_t type); 143 ConversionResult<audio_port_role_t> portRole(AudioPortDirection direction, audio_port_type_t type); 144 145 ConversionResult<audio_config_t> 146 aidl2legacy_AudioConfig_audio_config_t(const media::audio::common::AudioConfig& aidl, bool isInput); 147 ConversionResult<media::audio::common::AudioConfig> 148 legacy2aidl_audio_config_t_AudioConfig(const audio_config_t& legacy, bool isInput); 149 150 ConversionResult<audio_config_base_t> 151 aidl2legacy_AudioConfigBase_audio_config_base_t( 152 const media::audio::common::AudioConfigBase& aidl, bool isInput); 153 ConversionResult<media::audio::common::AudioConfigBase> 154 legacy2aidl_audio_config_base_t_AudioConfigBase(const audio_config_base_t& legacy, bool isInput); 155 156 ConversionResult<audio_input_flags_t> 157 aidl2legacy_AudioInputFlags_audio_input_flags_t(media::audio::common::AudioInputFlags aidl); 158 ConversionResult<media::audio::common::AudioInputFlags> 159 legacy2aidl_audio_input_flags_t_AudioInputFlags(audio_input_flags_t legacy); 160 161 ConversionResult<audio_output_flags_t> 162 aidl2legacy_AudioOutputFlags_audio_output_flags_t(media::audio::common::AudioOutputFlags aidl); 163 ConversionResult<media::audio::common::AudioOutputFlags> 164 legacy2aidl_audio_output_flags_t_AudioOutputFlags(audio_output_flags_t legacy); 165 166 ConversionResult<audio_input_flags_t> aidl2legacy_int32_t_audio_input_flags_t_mask( 167 int32_t aidl); 168 ConversionResult<int32_t> legacy2aidl_audio_input_flags_t_int32_t_mask( 169 audio_input_flags_t legacy); 170 171 ConversionResult<audio_output_flags_t> aidl2legacy_int32_t_audio_output_flags_t_mask( 172 int32_t aidl); 173 ConversionResult<int32_t> legacy2aidl_audio_output_flags_t_int32_t_mask( 174 audio_output_flags_t legacy); 175 176 ConversionResult<audio_io_flags> aidl2legacy_AudioIoFlags_audio_io_flags( 177 const media::audio::common::AudioIoFlags& aidl, bool isInput); 178 ConversionResult<media::audio::common::AudioIoFlags> legacy2aidl_audio_io_flags_AudioIoFlags( 179 const audio_io_flags& legacy, bool isInput); 180 181 ConversionResult<audio_session_t> aidl2legacy_int32_t_audio_session_t(int32_t aidl); 182 ConversionResult<int32_t> legacy2aidl_audio_session_t_int32_t(audio_session_t legacy); 183 184 ConversionResult<audio_content_type_t> 185 aidl2legacy_AudioContentType_audio_content_type_t( 186 media::audio::common::AudioContentType aidl); 187 ConversionResult<media::audio::common::AudioContentType> 188 legacy2aidl_audio_content_type_t_AudioContentType(audio_content_type_t legacy); 189 190 ConversionResult<audio_devices_t> aidl2legacy_AudioDeviceDescription_audio_devices_t( 191 const media::audio::common::AudioDeviceDescription& aidl); 192 ConversionResult<media::audio::common::AudioDeviceDescription> 193 legacy2aidl_audio_devices_t_AudioDeviceDescription(audio_devices_t legacy); 194 195 media::audio::common::AudioDeviceAddress::Tag suggestDeviceAddressTag( 196 const media::audio::common::AudioDeviceDescription& description); 197 198 ::android::status_t aidl2legacy_AudioDevice_audio_device( 199 const media::audio::common::AudioDevice& aidl, audio_devices_t* legacyType, 200 char* legacyAddress); 201 ::android::status_t aidl2legacy_AudioDevice_audio_device( 202 const media::audio::common::AudioDevice& aidl, audio_devices_t* legacyType, 203 ::android::String8* legacyAddress); 204 ::android::status_t aidl2legacy_AudioDevice_audio_device( 205 const media::audio::common::AudioDevice& aidl, audio_devices_t* legacyType, 206 std::string* legacyAddress); 207 208 ConversionResult<media::audio::common::AudioDevice> legacy2aidl_audio_device_AudioDevice( 209 audio_devices_t legacyType, const char* legacyAddress); 210 ConversionResult<media::audio::common::AudioDevice> legacy2aidl_audio_device_AudioDevice( 211 audio_devices_t legacyType, const ::android::String8& legacyAddress); 212 ConversionResult<media::audio::common::AudioDevice> legacy2aidl_audio_device_AudioDevice( 213 audio_devices_t legacyType, const std::string& legacyAddress); 214 215 ConversionResult<audio_extra_audio_descriptor> 216 aidl2legacy_ExtraAudioDescriptor_audio_extra_audio_descriptor( 217 const media::audio::common::ExtraAudioDescriptor& aidl); 218 219 ConversionResult<media::audio::common::ExtraAudioDescriptor> 220 legacy2aidl_audio_extra_audio_descriptor_ExtraAudioDescriptor( 221 const audio_extra_audio_descriptor& legacy); 222 223 ConversionResult<audio_encapsulation_metadata_type_t> 224 aidl2legacy_AudioEncapsulationMetadataType_audio_encapsulation_metadata_type_t( 225 media::audio::common::AudioEncapsulationMetadataType aidl); 226 ConversionResult<media::audio::common::AudioEncapsulationMetadataType> 227 legacy2aidl_audio_encapsulation_metadata_type_t_AudioEncapsulationMetadataType( 228 audio_encapsulation_metadata_type_t legacy); 229 230 ConversionResult<uint32_t> aidl2legacy_AudioEncapsulationMetadataType_mask(int32_t aidl); 231 ConversionResult<int32_t> legacy2aidl_AudioEncapsulationMetadataType_mask(uint32_t legacy); 232 233 ConversionResult<audio_encapsulation_mode_t> 234 aidl2legacy_AudioEncapsulationMode_audio_encapsulation_mode_t( 235 media::audio::common::AudioEncapsulationMode aidl); 236 ConversionResult<media::audio::common::AudioEncapsulationMode> 237 legacy2aidl_audio_encapsulation_mode_t_AudioEncapsulationMode(audio_encapsulation_mode_t legacy); 238 239 ConversionResult<uint32_t> aidl2legacy_AudioEncapsulationMode_mask(int32_t aidl); 240 ConversionResult<int32_t> legacy2aidl_AudioEncapsulationMode_mask(uint32_t legacy); 241 242 ConversionResult<audio_encapsulation_type_t> 243 aidl2legacy_AudioEncapsulationType_audio_encapsulation_type_t( 244 const media::audio::common::AudioEncapsulationType& aidl); 245 ConversionResult<media::audio::common::AudioEncapsulationType> 246 legacy2aidl_audio_encapsulation_type_t_AudioEncapsulationType( 247 const audio_encapsulation_type_t& legacy); 248 249 ConversionResult<audio_format_t> aidl2legacy_AudioFormatDescription_audio_format_t( 250 const media::audio::common::AudioFormatDescription& aidl); 251 ConversionResult<media::audio::common::AudioFormatDescription> 252 legacy2aidl_audio_format_t_AudioFormatDescription(audio_format_t legacy); 253 254 ConversionResult<audio_gain_mode_t> 255 aidl2legacy_AudioGainMode_audio_gain_mode_t(media::audio::common::AudioGainMode aidl); 256 ConversionResult<media::audio::common::AudioGainMode> 257 legacy2aidl_audio_gain_mode_t_AudioGainMode(audio_gain_mode_t legacy); 258 259 ConversionResult<audio_gain_mode_t> aidl2legacy_int32_t_audio_gain_mode_t_mask(int32_t aidl); 260 ConversionResult<int32_t> legacy2aidl_audio_gain_mode_t_int32_t_mask(audio_gain_mode_t legacy); 261 262 ConversionResult<audio_gain_config> aidl2legacy_AudioGainConfig_audio_gain_config( 263 const media::audio::common::AudioGainConfig& aidl, bool isInput); 264 ConversionResult<media::audio::common::AudioGainConfig> 265 legacy2aidl_audio_gain_config_AudioGainConfig(const audio_gain_config& legacy, bool isInput); 266 267 ConversionResult<audio_gain> 268 aidl2legacy_AudioGain_audio_gain(const media::audio::common::AudioGain& aidl, bool isInput); 269 ConversionResult<media::audio::common::AudioGain> 270 legacy2aidl_audio_gain_AudioGain(const audio_gain& legacy, bool isInput); 271 272 ConversionResult<audio_input_flags_t> 273 aidl2legacy_AudioInputFlags_audio_input_flags_t(media::audio::common::AudioInputFlags aidl); 274 ConversionResult<media::audio::common::AudioInputFlags> 275 legacy2aidl_audio_input_flags_t_AudioInputFlags(audio_input_flags_t legacy); 276 277 ConversionResult<audio_mode_t> 278 aidl2legacy_AudioMode_audio_mode_t(media::audio::common::AudioMode aidl); 279 ConversionResult<media::audio::common::AudioMode> 280 legacy2aidl_audio_mode_t_AudioMode(audio_mode_t legacy); 281 282 ConversionResult<audio_offload_info_t> 283 aidl2legacy_AudioOffloadInfo_audio_offload_info_t( 284 const media::audio::common::AudioOffloadInfo& aidl); 285 ConversionResult<media::audio::common::AudioOffloadInfo> 286 legacy2aidl_audio_offload_info_t_AudioOffloadInfo(const audio_offload_info_t& legacy); 287 288 ConversionResult<audio_output_flags_t> 289 aidl2legacy_AudioOutputFlags_audio_output_flags_t(media::audio::common::AudioOutputFlags aidl); 290 ConversionResult<media::audio::common::AudioOutputFlags> 291 legacy2aidl_audio_output_flags_t_AudioOutputFlags(audio_output_flags_t legacy); 292 293 ConversionResult<audio_stream_type_t> 294 aidl2legacy_AudioStreamType_audio_stream_type_t(media::audio::common::AudioStreamType aidl); 295 ConversionResult<media::audio::common::AudioStreamType> 296 legacy2aidl_audio_stream_type_t_AudioStreamType(audio_stream_type_t legacy); 297 298 // This type is unnamed in the original definition, thus we name it here. 299 using audio_port_config_mix_ext_usecase = decltype(audio_port_config_mix_ext::usecase); 300 ConversionResult<audio_port_config_mix_ext_usecase> 301 aidl2legacy_AudioPortMixExtUseCase_audio_port_config_mix_ext_usecase( 302 const media::audio::common::AudioPortMixExtUseCase& aidl, bool isInput); 303 ConversionResult<media::audio::common::AudioPortMixExtUseCase> 304 legacy2aidl_audio_port_config_mix_ext_usecase_AudioPortMixExtUseCase( 305 const audio_port_config_mix_ext_usecase& legacy, bool isInput); 306 307 ConversionResult<audio_port_config_device_ext> 308 aidl2legacy_AudioPortDeviceExt_audio_port_config_device_ext( 309 const media::audio::common::AudioPortDeviceExt& aidl); 310 ConversionResult<media::audio::common::AudioPortDeviceExt> 311 legacy2aidl_audio_port_config_device_ext_AudioPortDeviceExt( 312 const audio_port_config_device_ext& legacy); 313 314 ::android::status_t aidl2legacy_AudioPortConfig_audio_port_config( 315 const media::audio::common::AudioPortConfig& aidl, bool isInput, 316 audio_port_config* legacy, int32_t* portId); 317 ConversionResult<media::audio::common::AudioPortConfig> 318 legacy2aidl_audio_port_config_AudioPortConfig( 319 const audio_port_config& legacy, bool isInput, int32_t portId); 320 321 ConversionResult<audio_port_mix_ext> aidl2legacy_AudioPortMixExt_audio_port_mix_ext( 322 const media::audio::common::AudioPortMixExt& aidl); 323 ConversionResult<media::audio::common::AudioPortMixExt> 324 legacy2aidl_audio_port_mix_ext_AudioPortMixExt( 325 const audio_port_mix_ext& legacy); 326 327 ConversionResult<audio_port_device_ext> 328 aidl2legacy_AudioPortDeviceExt_audio_port_device_ext( 329 const media::audio::common::AudioPortDeviceExt& aidl); 330 ConversionResult<media::audio::common::AudioPortDeviceExt> 331 legacy2aidl_audio_port_device_ext_AudioPortDeviceExt( 332 const audio_port_device_ext& legacy); 333 334 ConversionResult<audio_port_v7> 335 aidl2legacy_AudioPort_audio_port_v7( 336 const media::audio::common::AudioPort& aidl, bool isInput); 337 ConversionResult<media::audio::common::AudioPort> 338 legacy2aidl_audio_port_v7_AudioPort(const audio_port_v7& legacy, bool isInput); 339 340 ConversionResult<audio_profile> aidl2legacy_AudioProfile_audio_profile( 341 const media::audio::common::AudioProfile& aidl, bool isInput); 342 ConversionResult<media::audio::common::AudioProfile> legacy2aidl_audio_profile_AudioProfile( 343 const audio_profile& legacy, bool isInput); 344 345 ConversionResult<audio_standard_t> aidl2legacy_AudioStandard_audio_standard_t( 346 media::audio::common::AudioStandard aidl); 347 ConversionResult<media::audio::common::AudioStandard> legacy2aidl_audio_standard_t_AudioStandard( 348 audio_standard_t legacy); 349 350 ConversionResult<audio_source_t> aidl2legacy_AudioSource_audio_source_t( 351 media::audio::common::AudioSource aidl); 352 ConversionResult<media::audio::common::AudioSource> legacy2aidl_audio_source_t_AudioSource( 353 audio_source_t legacy); 354 355 ConversionResult<audio_usage_t> aidl2legacy_AudioUsage_audio_usage_t( 356 media::audio::common::AudioUsage aidl); 357 ConversionResult<media::audio::common::AudioUsage> legacy2aidl_audio_usage_t_AudioUsage( 358 audio_usage_t legacy); 359 360 ConversionResult<audio_flags_mask_t> 361 aidl2legacy_AudioFlag_audio_flags_mask_t(media::audio::common::AudioFlag aidl); 362 ConversionResult<media::audio::common::AudioFlag> 363 legacy2aidl_audio_flags_mask_t_AudioFlag(audio_flags_mask_t legacy); 364 365 ConversionResult<audio_flags_mask_t> 366 aidl2legacy_int32_t_audio_flags_mask_t_mask(int32_t aidl); 367 ConversionResult<int32_t> 368 legacy2aidl_audio_flags_mask_t_int32_t_mask(audio_flags_mask_t legacy); 369 370 ConversionResult<std::string> 371 aidl2legacy_AudioTags_string(const std::vector<std::string>& aidl); 372 ConversionResult<std::vector<std::string>> 373 legacy2aidl_string_AudioTags(const std::string& legacy); 374 375 ConversionResult<audio_attributes_t> 376 aidl2legacy_AudioAttributes_audio_attributes_t(const media::audio::common::AudioAttributes& aidl); 377 ConversionResult<media::audio::common::AudioAttributes> 378 legacy2aidl_audio_attributes_t_AudioAttributes(const audio_attributes_t& legacy); 379 380 ConversionResult<audio_uuid_t> aidl2legacy_AudioUuid_audio_uuid_t( 381 const media::audio::common::AudioUuid &aidl); 382 ConversionResult<media::audio::common::AudioUuid> legacy2aidl_audio_uuid_t_AudioUuid( 383 const audio_uuid_t& legacy); 384 385 ConversionResult<audio_dual_mono_mode_t> 386 aidl2legacy_AudioDualMonoMode_audio_dual_mono_mode_t(media::audio::common::AudioDualMonoMode aidl); 387 ConversionResult<media::audio::common::AudioDualMonoMode> 388 legacy2aidl_audio_dual_mono_mode_t_AudioDualMonoMode(audio_dual_mono_mode_t legacy); 389 390 ConversionResult<audio_timestretch_fallback_mode_t> 391 aidl2legacy_TimestretchFallbackMode_audio_timestretch_fallback_mode_t( 392 media::audio::common::AudioPlaybackRate::TimestretchFallbackMode aidl); 393 ConversionResult<media::audio::common::AudioPlaybackRate::TimestretchFallbackMode> 394 legacy2aidl_audio_timestretch_fallback_mode_t_TimestretchFallbackMode( 395 audio_timestretch_fallback_mode_t legacy); 396 397 ConversionResult<audio_timestretch_stretch_mode_t> 398 aidl2legacy_TimestretchMode_audio_timestretch_stretch_mode_t( 399 media::audio::common::AudioPlaybackRate::TimestretchMode aidl); 400 ConversionResult<media::audio::common::AudioPlaybackRate::TimestretchMode> 401 legacy2aidl_audio_timestretch_stretch_mode_t_TimestretchMode( 402 audio_timestretch_stretch_mode_t legacy); 403 404 ConversionResult<audio_playback_rate_t> 405 aidl2legacy_AudioPlaybackRate_audio_playback_rate_t( 406 const media::audio::common::AudioPlaybackRate& aidl); 407 ConversionResult<media::audio::common::AudioPlaybackRate> 408 legacy2aidl_audio_playback_rate_t_AudioPlaybackRate(const audio_playback_rate_t& legacy); 409 410 ConversionResult<audio_latency_mode_t> 411 aidl2legacy_AudioLatencyMode_audio_latency_mode_t(media::audio::common::AudioLatencyMode aidl); 412 ConversionResult<media::audio::common::AudioLatencyMode> 413 legacy2aidl_audio_latency_mode_t_AudioLatencyMode(audio_latency_mode_t legacy); 414 415 ConversionResult<audio_microphone_location_t> 416 aidl2legacy_MicrophoneInfoLocation_audio_microphone_location_t( 417 media::audio::common::MicrophoneInfo::Location aidl); 418 ConversionResult<media::audio::common::MicrophoneInfo::Location> 419 legacy2aidl_audio_microphone_location_t_MicrophoneInfoLocation(audio_microphone_location_t legacy); 420 421 ConversionResult<audio_microphone_group_t> aidl2legacy_int32_t_audio_microphone_group_t( 422 int32_t aidl); 423 ConversionResult<int32_t> legacy2aidl_audio_microphone_group_t_int32_t( 424 audio_microphone_group_t legacy); 425 426 ConversionResult<audio_microphone_directionality_t> 427 aidl2legacy_MicrophoneInfoDirectionality_audio_microphone_directionality_t( 428 media::audio::common::MicrophoneInfo::Directionality aidl); 429 ConversionResult<media::audio::common::MicrophoneInfo::Directionality> 430 legacy2aidl_audio_microphone_directionality_t_MicrophoneInfoDirectionality( 431 audio_microphone_directionality_t legacy); 432 433 ConversionResult<audio_microphone_coordinate> 434 aidl2legacy_MicrophoneInfoCoordinate_audio_microphone_coordinate( 435 const media::audio::common::MicrophoneInfo::Coordinate& aidl); 436 ConversionResult<media::audio::common::MicrophoneInfo::Coordinate> 437 legacy2aidl_audio_microphone_coordinate_MicrophoneInfoCoordinate( 438 const audio_microphone_coordinate& legacy); 439 440 ConversionResult<audio_microphone_channel_mapping_t> 441 aidl2legacy_MicrophoneDynamicInfoChannelMapping_audio_microphone_channel_mapping_t( 442 media::audio::common::MicrophoneDynamicInfo::ChannelMapping aidl); 443 ConversionResult<media::audio::common::MicrophoneDynamicInfo::ChannelMapping> 444 legacy2aidl_audio_microphone_channel_mapping_t_MicrophoneDynamicInfoChannelMapping( 445 audio_microphone_channel_mapping_t legacy); 446 447 ConversionResult<audio_microphone_characteristic_t> 448 aidl2legacy_MicrophoneInfos_audio_microphone_characteristic_t( 449 const media::audio::common::MicrophoneInfo& aidlInfo, 450 const media::audio::common::MicrophoneDynamicInfo& aidlDynamic); 451 ::android::status_t 452 legacy2aidl_audio_microphone_characteristic_t_MicrophoneInfos( 453 const audio_microphone_characteristic_t& legacy, 454 media::audio::common::MicrophoneInfo* aidlInfo, 455 media::audio::common::MicrophoneDynamicInfo* aidlDynamic); 456 457 } // namespace android 458 459 #if defined(BACKEND_NDK_IMPL) 460 } // aidl 461 #endif 462 463 // (defined(BACKEND_NDK_IMPL) && !defined(AUDIO_AIDL_CONVERSION_AIDL_CONVERSION_CPP_NDK_NDK)) || \ 464 // (!defined(BACKEND_NDK_IMPL) && !defined(AUDIO_AIDL_CONVERSION_AIDL_CONVERSION_CPP_NDK_CPP)) 465 #endif 466