• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 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/AudioMix.h>
25 #include <android/media/AudioMixCallbackFlag.h>
26 #include <android/media/AudioMixRouteFlag.h>
27 #include <android/media/AudioMixType.h>
28 #include <android/media/AudioOffloadMode.h>
29 #include <android/media/AudioPolicyForceUse.h>
30 #include <android/media/AudioPolicyForcedConfig.h>
31 #include <android/media/DeviceRole.h>
32 
33 #include <media/AidlConversionUtil.h>
34 #include <media/AudioCommonTypes.h>
35 #include <media/AudioPolicy.h>
36 #include <android/media/AudioPolicyDeviceState.h>
37 
38 namespace android {
39 
40 ConversionResult<product_strategy_t>
41 aidl2legacy_int32_t_product_strategy_t(int32_t aidl);
42 ConversionResult<int32_t>
43 legacy2aidl_product_strategy_t_int32_t(product_strategy_t legacy);
44 
45 ConversionResult<uint32_t>
46 aidl2legacy_AudioMixType_uint32_t(media::AudioMixType aidl);
47 ConversionResult<media::AudioMixType>
48 legacy2aidl_uint32_t_AudioMixType(uint32_t legacy);
49 
50 ConversionResult<uint32_t>
51 aidl2legacy_AudioMixCallbackFlag_uint32_t(media::AudioMixCallbackFlag aidl);
52 ConversionResult<media::AudioMixCallbackFlag>
53 legacy2aidl_uint32_t_AudioMixCallbackFlag(uint32_t legacy);
54 
55 ConversionResult<uint32_t>
56 aidl2legacy_AudioMixCallbackFlag_uint32_t_mask(int32_t aidl);
57 ConversionResult<int32_t>
58 legacy2aidl_uint32_t_AudioMixCallbackFlag_mask(uint32_t legacy);
59 
60 ConversionResult<uint32_t>
61 aidl2legacy_AudioMixRouteFlag_uint32_t(media::AudioMixRouteFlag aidl);
62 ConversionResult<media::AudioMixRouteFlag>
63 legacy2aidl_uint32_t_AudioMixRouteFlag(uint32_t legacy);
64 
65 ConversionResult<uint32_t>
66 aidl2legacy_AudioMixRouteFlag_uint32_t_mask(int32_t aidl);
67 ConversionResult<int32_t>
68 legacy2aidl_uint32_t_AudioMixRouteFlag_mask(uint32_t legacy);
69 
70 ConversionResult<AudioMixMatchCriterion>
71 aidl2legacy_AudioMixMatchCriterion(const media::AudioMixMatchCriterion& aidl);
72 ConversionResult<media::AudioMixMatchCriterion>
73 legacy2aidl_AudioMixMatchCriterion(const AudioMixMatchCriterion& legacy);
74 
75 ConversionResult<AudioMix>
76 aidl2legacy_AudioMix(const media::AudioMix& aidl);
77 ConversionResult<media::AudioMix>
78 legacy2aidl_AudioMix(const AudioMix& legacy);
79 
80 ConversionResult<audio_policy_dev_state_t>
81 aidl2legacy_AudioPolicyDeviceState_audio_policy_dev_state_t(media::AudioPolicyDeviceState aidl);
82 ConversionResult<media::AudioPolicyDeviceState>
83 legacy2aidl_audio_policy_dev_state_t_AudioPolicyDeviceState(audio_policy_dev_state_t legacy);
84 
85 ConversionResult<audio_policy_force_use_t>
86 aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t(media::AudioPolicyForceUse aidl);
87 ConversionResult<media::AudioPolicyForceUse>
88 legacy2aidl_audio_policy_force_use_t_AudioPolicyForceUse(audio_policy_force_use_t legacy);
89 
90 ConversionResult<audio_policy_forced_cfg_t>
91 aidl2legacy_AudioPolicyForcedConfig_audio_policy_forced_cfg_t(media::AudioPolicyForcedConfig aidl);
92 ConversionResult<media::AudioPolicyForcedConfig>
93 legacy2aidl_audio_policy_forced_cfg_t_AudioPolicyForcedConfig(audio_policy_forced_cfg_t legacy);
94 
95 ConversionResult<device_role_t>
96 aidl2legacy_DeviceRole_device_role_t(media::DeviceRole aidl);
97 ConversionResult<media::DeviceRole>
98 legacy2aidl_device_role_t_DeviceRole(device_role_t legacy);
99 
100 ConversionResult<audio_offload_mode_t>
101 aidl2legacy_AudioOffloadMode_audio_offload_mode_t(media::AudioOffloadMode aidl);
102 ConversionResult<media::AudioOffloadMode>
103 legacy2aidl_audio_offload_mode_t_AudioOffloadMode(audio_offload_mode_t legacy);
104 
105 }  // namespace android
106