1# Copyright (c) 2023 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("../../../config.gni") 16 17config("audio_config") { 18 include_dirs = [ 19 "../audiocapturer/include", 20 "../audiorenderer/include", 21 "../../../interfaces/inner_api/native/audiocommon/include", 22 "../../../interfaces/inner_api/native/audiocapturer/include", 23 "../../../interfaces/inner_api/native/audiomanager/include", 24 "../../../interfaces/inner_api/native/audiorenderer/include", 25 "../../../interfaces/inner_api/native/audiostream/include", 26 "../../../services/audio_service/client/include", 27 ] 28 29 cflags = [ 30 "-Wall", 31 "-Werror", 32 ] 33} 34 35ohos_shared_library("ohaudio") { 36 sanitize = { 37 cfi = true 38 cfi_cross_dso = true 39 cfi_vcall_icall_only = true 40 debug = false 41 } 42 include_dirs = [ 43 "../../../interfaces/kits/c/", 44 "../../../interfaces/kits/c/common/", 45 "../../../interfaces/kits/c/audio_renderer/", 46 "../../../interfaces/kits/c/audio_capturer/", 47 "../../../interfaces/kits/c/audio_manager/", 48 "../../native/audiopolicy/include/", 49 ] 50 51 configs = [ ":audio_config" ] 52 53 sources = [ 54 "./OHAudioCapturer.cpp", 55 "./OHAudioDeviceDescriptor.cpp", 56 "./OHAudioManager.cpp", 57 "./OHAudioRenderer.cpp", 58 "./OHAudioRoutingManager.cpp", 59 "./OHAudioSessionManager.cpp", 60 "./OHAudioStreamBuilder.cpp", 61 ] 62 63 deps = [ 64 "../../../services/audio_service:audio_client", 65 "../audiocapturer:audio_capturer", 66 "../audiorenderer:audio_renderer", 67 ] 68 cflags = [ "-Werror" ] 69 70 external_deps = [ 71 "c_utils:utils", 72 "hilog:libhilog", 73 "init:libbegetutil", 74 ] 75 76 innerapi_tags = [ "ndk" ] 77 78 output_name = "ohaudio" 79 output_extension = "so" 80 subsystem_name = "multimedia" 81 part_name = "audio_framework" 82} 83 84group("oh_audio_renderer_test_packages") { 85 deps = [ 86 ":oh_audio_capturer_test", 87 ":oh_audio_renderer_test", 88 ":oh_audio_session_manager_test", 89 ] 90} 91 92ohos_executable("oh_audio_capturer_test") { 93 install_enable = false 94 95 include_dirs = [ 96 "../../../interfaces/kits/c/", 97 "../../../interfaces/kits/c/common/", 98 "../../../interfaces/kits/c/audio_renderer/", 99 "../../../interfaces/kits/c/audio_capturer/", 100 ] 101 102 sources = [ "test/example/oh_audio_capturer_test.cpp" ] 103 104 configs = [ ":audio_config" ] 105 106 deps = [ ":ohaudio" ] 107 108 external_deps = [ "hilog:libhilog" ] 109 110 part_name = "audio_framework" 111 subsystem_name = "multimedia" 112} 113 114ohos_executable("oh_audio_capturer_lowlatency_test") { 115 install_enable = false 116 117 include_dirs = [ 118 "../../../interfaces/kits/c/", 119 "../../../interfaces/kits/c/common/", 120 "../../../interfaces/kits/c/audio_renderer/", 121 "../../../interfaces/kits/c/audio_capturer/", 122 "../audioutils/include", 123 "../../../interfaces/inner_api/native/audiocommon/include", 124 "../../../interfaces/inner_api/native/audiomanager/include", 125 "../../../services/audio_service/client/include", 126 ] 127 128 sources = [ "test/example/oh_audio_capturer_lowlatency_test.cpp" ] 129 130 configs = [ ":audio_config" ] 131 132 deps = [ 133 ":ohaudio", 134 "../../../services/audio_service:audio_client", 135 "../audioutils:audio_utils", 136 ] 137 138 external_deps = [ 139 "bounds_checking_function:libsec_shared", 140 "c_utils:utils", 141 "hilog:libhilog", 142 "init:libbegetutil", 143 ] 144 145 part_name = "audio_framework" 146 subsystem_name = "multimedia" 147} 148 149ohos_executable("oh_audio_renderer_test") { 150 install_enable = false 151 152 include_dirs = [ 153 "../../../interfaces/kits/c/", 154 "../../../interfaces/kits/c/common/", 155 "../../../interfaces/kits/c/audio_renderer/", 156 "../../../interfaces/kits/c/audio_capturer/", 157 ] 158 159 sources = [ "test/example/oh_audio_renderer_test.cpp" ] 160 161 configs = [ ":audio_config" ] 162 163 deps = [ ":ohaudio" ] 164 165 external_deps = [ "hilog:libhilog" ] 166 167 part_name = "audio_framework" 168 subsystem_name = "multimedia" 169} 170 171ohos_executable("oh_audio_session_manager_test") { 172 stack_protector_ret = true 173 174 sanitize = { 175 cfi = true 176 cfi_cross_dso = true 177 cfi_vcall_icall_only = true 178 debug = false 179 } 180 181 install_enable = false 182 183 include_dirs = [ 184 "../../../interfaces/kits/c/", 185 "../../../interfaces/kits/c/audio_manager/", 186 "../../../interfaces/kits/c/common/", 187 "../../../interfaces/kits/c/audio_renderer/", 188 ] 189 190 sources = [ "test/example/oh_audio_session_manager_test.cpp" ] 191 192 configs = [ ":audio_config" ] 193 194 deps = [ 195 ":ohaudio", 196 "../../../services/audio_service:audio_client", 197 "../audioutils:audio_utils", 198 ] 199 200 external_deps = [ 201 "bounds_checking_function:libsec_shared", 202 "c_utils:utils", 203 "hilog:libhilog", 204 "init:libbegetutil", 205 ] 206 207 part_name = "audio_framework" 208 subsystem_name = "multimedia" 209} 210