1 /* 2 * Copyright (c) 2023 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_COMMON_VDI_H 17 #define AUDIO_COMMON_VDI_H 18 19 #include "audio_types_vdi.h" 20 #include "v4_0/audio_types.h" 21 22 #define AUDIO_VDI_ADAPTER_NUM_MAX 20 // Limit the number of sound cards supported to a maximum of 20 23 #define AUDIO_VDI_PORT_NUM_MAX 10 24 #define AUDIO_VDI_STREAM_NUM_MAX 10 25 26 int32_t AudioCommonDevDescToVdiDevDescVdi(const struct AudioDeviceDescriptor *desc, 27 struct AudioDeviceDescriptorVdi *vdiDesc); 28 void AudioCommonAttrsToVdiAttrsVdi(const struct AudioSampleAttributes *attrs, 29 struct AudioSampleAttributesVdi *vdiAttrs); 30 int32_t AudioCommonPortToVdiPortVdi(const struct AudioPort *port, struct AudioPortVdi *vdiPort); 31 void AudioCommonVdiPortCapToPortCapVdi(const struct AudioPortCapabilityVdi *vdiPortCap, 32 struct AudioPortCapability *portCap); 33 int32_t AudioCommonRouteToVdiRouteVdi(const struct AudioRoute *route, struct AudioRouteVdi *vdiRoute); 34 void AudioCommonFreeVdiRouteVdi(struct AudioRouteVdi *vdiRoute); 35 int32_t AudioCommonSceneToVdiSceneVdi(const struct AudioSceneDescriptor *scene, 36 struct AudioSceneDescriptorVdi *vdiScene); 37 int32_t AudioCommonSampleAttrToVdiSampleAttrVdi(const struct AudioSampleAttributes *attrs, 38 struct AudioSampleAttributesVdi *vdiAttrs); 39 int32_t AudioCommonVdiSampleAttrToSampleAttrVdi(const struct AudioSampleAttributesVdi *vdiAttrs, 40 struct AudioSampleAttributes *attrs); 41 42 #endif // AUDIO_COMMON_VDI_H