1 /* 2 * Copyright (c) 2021-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 #ifndef HDF_AUDIO_SERVER_H 16 #define HDF_AUDIO_SERVER_H 17 18 #include "audio_types.h" 19 20 enum AudioHdiServerCmdId { 21 /*************public*************/ 22 AUDIO_HDI_MGR_GET_FUNCS = 0, 23 AUDIO_HDI_MGR_GET_ALL_ADAPTER, 24 AUDIO_HDI_MGR_RELEASE, 25 AUDIO_HDI_MGR_LOAD_ADAPTER, 26 AUDIO_HDI_MGR_UNLOAD_ADAPTER, 27 28 AUDIO_HDI_ADT_SET_MIC_MUTE, 29 AUDIO_HDI_ADT_GET_MIC_MUTE, 30 AUDIO_HDI_ADT_SET_VOICE_VOLUME, 31 AUDIO_HDI_ADT_SET_EXTRA_PARAMS, 32 AUDIO_HDI_ADT_GET_EXTRA_PARAMS, 33 AUDIO_HDI_ADT_INIT_PORTS, 34 AUDIO_HDI_ADT_GET_PORT_CAPABILITY, 35 AUDIO_HDI_ADT_SET_PASS_MODE, 36 AUDIO_HDI_ADT_GET_PASS_MODE, 37 AUDIO_HDI_ADT_UPDATE_ROUTE, 38 AUDIO_HDI_ADT_RELEASE_ROUTE, 39 AUDIO_HDI_PNP_DEV_STATUS, 40 /***********render***************/ 41 AUDIO_HDI_RENDER_CREATE_RENDER, 42 AUDIO_HDI_RENDER_DESTROY, 43 AUDIO_HDI_RENDER_START, 44 AUDIO_HDI_RENDER_STOP, 45 AUDIO_HDI_RENDER_PAUSE, 46 AUDIO_HDI_RENDER_RESUME, 47 AUDIO_HDI_RENDER_FLUSH, 48 AUDIO_HDI_RENDER_GET_FRAME_SIZE, 49 AUDIO_HDI_RENDER_GET_FRAME_COUNT, 50 AUDIO_HDI_RENDER_SET_SAMPLE_ATTR, 51 AUDIO_HDI_RENDER_GET_SAMPLE_ATTR, 52 AUDIO_HDI_RENDER_GET_CUR_CHANNEL_ID, 53 AUDIO_HDI_RENDER_CHECK_SCENE_CAPABILITY, 54 AUDIO_HDI_RENDER_SELECT_SCENE, 55 AUDIO_HDI_RENDER_GET_MUTE, 56 AUDIO_HDI_RENDER_SET_MUTE, 57 AUDIO_HDI_RENDER_SET_VOLUME, 58 AUDIO_HDI_RENDER_GET_VOLUME, 59 AUDIO_HDI_RENDER_GET_GAIN_THRESHOLD, 60 AUDIO_HDI_RENDER_GET_GAIN, 61 AUDIO_HDI_RENDER_SET_GAIN, 62 AUDIO_HDI_RENDER_GET_LATENCY, 63 AUDIO_HDI_RENDER_RENDER_FRAME, 64 AUDIO_HDI_RENDER_GET_RENDER_POSITION, 65 AUDIO_HDI_RENDER_GET_SPEED, 66 AUDIO_HDI_RENDER_SET_SPEED, 67 AUDIO_HDI_RENDER_SET_CHANNEL_MODE, 68 AUDIO_HDI_RENDER_GET_CHANNEL_MODE, 69 AUDIO_HDI_RENDER_SET_EXTRA_PARAMS, 70 AUDIO_HDI_RENDER_GET_EXTRA_PARAMS, 71 AUDIO_HDI_RENDER_REQ_MMAP_BUFFER, 72 AUDIO_HDI_RENDER_GET_MMAP_POSITION, 73 AUDIO_HDI_RENDER_ADD_EFFECT, 74 AUDIO_HDI_RENDER_REMOVE_EFFECT, 75 AUDIO_HDI_RENDER_TURN_STAND_BY_MODE, 76 AUDIO_HDI_RENDER_DEV_DUMP, 77 AUDIO_HDI_RENDER_REG_CALLBACK, 78 AUDIO_HDI_RENDER_DRAIN_BUFFER, 79 /***********capture*************/ 80 AUDIO_HDI_CAPTURE_CREATE_CAPTURE, 81 AUDIO_HDI_CAPTURE_DESTROY, 82 AUDIO_HDI_CAPTURE_START, 83 AUDIO_HDI_CAPTURE_STOP, 84 AUDIO_HDI_CAPTURE_PAUSE, 85 AUDIO_HDI_CAPTURE_RESUME, 86 AUDIO_HDI_CAPTURE_FLUSH, 87 AUDIO_HDI_CAPTURE_GET_FRAME_SIZE, 88 AUDIO_HDI_CAPTURE_GET_FRAME_COUNT, 89 AUDIO_HDI_CAPTURE_SET_SAMPLE_ATTR, 90 AUDIO_HDI_CAPTURE_GET_SAMPLE_ATTR, 91 AUDIO_HDI_CAPTURE_GET_CUR_CHANNEL_ID, 92 AUDIO_HDI_CAPTURE_CHECK_SCENE_CAPABILITY, 93 AUDIO_HDI_CAPTURE_SELECT_SCENE, 94 AUDIO_HDI_CAPTURE_GET_MUTE, 95 AUDIO_HDI_CAPTURE_SET_MUTE, 96 AUDIO_HDI_CAPTURE_SET_VOLUME, 97 AUDIO_HDI_CAPTURE_GET_VOLUME, 98 AUDIO_HDI_CAPTURE_GET_GAIN_THRESHOLD, 99 AUDIO_HDI_CAPTURE_GET_GAIN, 100 AUDIO_HDI_CAPTURE_SET_GAIN, 101 AUDIO_HDI_CAPTURE_CAPTURE_FRAME, 102 AUDIO_HDI_CAPTURE_GET_CAPTURE_POSITION, 103 AUDIO_HDI_CAPTURE_SET_EXTRA_PARAMS, 104 AUDIO_HDI_CAPTURE_GET_EXTRA_PARAMS, 105 AUDIO_HDI_CAPTURE_REQ_MMAP_BUFFER, 106 AUDIO_HDI_CAPTURE_GET_MMAP_POSITION, 107 AUDIO_HDI_CAPTURE_ADD_EFFECT, 108 AUDIO_HDI_CAPTURE_REMOVE_EFFECT, 109 AUDIO_HDI_CAPTURE_TURN_STAND_BY_MODE, 110 AUDIO_HDI_CAPTURE_DEV_DUMP 111 }; 112 typedef union { 113 struct AudioDevExtInfo device; /* Specific Device Ext info */ 114 struct AudioMixExtInfo mix; /* Specific mix info */ 115 struct AudioSessionExtInfo session; /* session specific info */ 116 } RouteExtInfo; 117 118 #endif 119 120