1 /* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef AUDIO_ADAPTER_INFO_COMMON_H 17 #define AUDIO_ADAPTER_INFO_COMMON_H 18 19 #include <stdio.h> 20 #include "audio_internal.h" 21 #include "v4_0/audio_types.h" 22 23 #define AUDIO_PRIMARY_ID_MIN 0 24 #define AUDIO_PRIMARY_ID_MAX 10 25 26 #define AUDIO_PRIMARY_EXT_ID_MIN 11 27 #define AUDIO_PRIMARY_EXT_ID_MAX 20 28 29 #define AUDIO_HDMI_ID_MIN 11 30 #define AUDIO_HDMI_ID_MAX 20 31 32 #define AUDIO_USB_ID_MIN 21 33 #define AUDIO_USB_ID_MAX 30 34 35 #define AUDIO_A2DP_ID_MIN 31 36 #define AUDIO_A2DP_ID_MAX 40 37 38 enum AudioAdapterType { 39 AUDIO_ADAPTER_PRIMARY = 0, /* internel sound card */ 40 AUDIO_ADAPTER_PRIMARY_EXT, /* extern sound card */ 41 AUDIO_ADAPTER_HDMI, /* hdmi sound card */ 42 AUDIO_ADAPTER_USB, /* usb sound card */ 43 AUDIO_ADAPTER_A2DP, /* blue tooth sound card */ 44 AUDIO_ADAPTER_MAX, /* Invalid value. */ 45 }; 46 47 enum AudioAdapterType MatchAdapterType(const char *adapterName, uint32_t portId); 48 struct AudioAdapterDescriptor *AudioAdapterGetConfigDescs(void); 49 int32_t AudioAdapterGetAdapterNum(void); 50 int32_t AudioAdaptersForUser(InterfaceLibModeGetAllCardInfo getAllCardInfo, 51 struct AudioAdapterDescriptor *descs, uint32_t *size); 52 int32_t AudioAdapterExist(const char *adapterName); 53 int32_t InitPortForCapabilitySub(struct AudioPort portIndex, struct AudioPortCapability *capabilityIndex); 54 int32_t AddElementToList(char *keyValueList, int32_t listLenth, const char *key, void *value); 55 int32_t GetErrorReason(int reason, char *reasonDesc); 56 int32_t GetCurrentTime(char *currentTime); 57 int32_t FormatToBits(enum AudioFormat format, uint32_t *formatBits); 58 int32_t AudioSetExtraParams(const char *keyValueList, int32_t *count, struct ExtraParams *mExtraParams, int32_t *sumOk); 59 int32_t SetDescParam( 60 struct AudioMmapBufferDescriptor *desc, FILE *fp, int32_t reqSize, int64_t *fileSize, int32_t *flags); 61 bool ReleaseAudioManagerObjectComm(struct IAudioManager *object); 62 63 #endif 64