1# Copyright (c) 2021-2025 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_renderer_config") { 18 include_dirs = [ 19 "./include", 20 "../audiostream/include", 21 "../../../interfaces/inner_api/native/audiorenderer/include", 22 "../../../interfaces/inner_api/native/audiocommon/include", 23 "../../../interfaces/inner_api/native/audiomanager/include", 24 "../../../services/audio_service/client/include", 25 "../../../services/audio_service/test/example", 26 ] 27 cflags = [ 28 "-Wall", 29 "-Werror", 30 ] 31 if (sonic_enable == true) { 32 cflags += [ "-DSONIC_ENABLE" ] 33 } 34} 35 36ohos_shared_library("audio_renderer") { 37 branch_protector_ret = "pac_ret" 38 install_enable = true 39 40 configs = [ ":audio_renderer_config" ] 41 42 sources = [ 43 "../../../services/audio_policy/server/domain/device/src/audio_device_descriptor.cpp", 44 "src/audio_renderer.cpp", 45 "src/audio_renderer_proxy_obj.cpp", 46 ] 47 48 defines = [] 49 if (audio_framework_feature_low_latency) { 50 defines += [ "SUPPORT_LOW_LATENCY" ] 51 } 52 53 deps = [ 54 "../../../services/audio_policy:audio_policy_client", 55 "../../../services/audio_service:audio_client", 56 "../../../services/audio_service:audio_common", 57 "../audiodefinitions:audio_definitions", 58 "../audioutils:audio_utils", 59 ] 60 external_deps = [ 61 "c_utils:utils", 62 "eventhandler:libeventhandler", 63 "hilog:libhilog", 64 "ipc:ipc_single", 65 "media_foundation:media_monitor_client", 66 "media_foundation:media_monitor_common", 67 "samgr:samgr_proxy", 68 ] 69 70 public_configs = [ ":audio_external_library_config" ] 71 72 version_script = "../../../audio_framework.versionscript" 73 innerapi_tags = [ "platformsdk" ] 74 75 part_name = "audio_framework" 76 subsystem_name = "multimedia" 77} 78 79config("audio_external_library_config") { 80 include_dirs = 81 [ "../../../interfaces/inner_api/native/audiorenderer/include" ] 82} 83 84group("audio_renderer_test_packages") { 85 deps = [ 86 ":audio_interrupt_test", 87 ":audio_latency_accuracy_test", 88 ":audio_render_mode_callback_test", 89 ":audio_renderer_test", 90 ":audio_voip_test", 91 ":interrupt_multi_renderer_test", 92 ] 93} 94 95ohos_executable("audio_renderer_test") { 96 install_enable = false 97 98 sources = [ "test/example/audio_renderer_test.cpp" ] 99 100 configs = [ ":audio_renderer_config" ] 101 102 deps = [ ":audio_renderer" ] 103 104 external_deps = [ 105 "c_utils:utils", 106 "hilog:libhilog", 107 ] 108 109 part_name = "audio_framework" 110 subsystem_name = "multimedia" 111} 112 113ohos_executable("audio_latency_accuracy_test") { 114 install_enable = false 115 116 sources = [ "test/example/audio_renderer_test.cpp" ] 117 118 configs = [ ":audio_renderer_config" ] 119 cflags = [ "-DLATENCY_ACCURACY_TEST" ] 120 121 deps = [ ":audio_renderer" ] 122 123 external_deps = [ 124 "c_utils:utils", 125 "hilog:libhilog", 126 ] 127 128 part_name = "audio_framework" 129 subsystem_name = "multimedia" 130} 131 132ohos_executable("audio_render_mode_callback_test") { 133 install_enable = false 134 135 sources = [ "test/example/audio_render_mode_callback_test.cpp" ] 136 137 configs = [ ":audio_renderer_config" ] 138 139 deps = [ ":audio_renderer" ] 140 141 external_deps = [ 142 "c_utils:utils", 143 "hilog:libhilog", 144 ] 145 146 part_name = "audio_framework" 147 subsystem_name = "multimedia" 148} 149 150ohos_executable("audio_voip_test") { 151 install_enable = false 152 153 sources = [ "test/example/audio_voip_test.cpp" ] 154 155 include_dirs = [ 156 "./include", 157 "../audiostream/include", 158 "../audiocapturer/include", 159 "../../../interfaces/inner_api/native/audiocapturer/include", 160 "../../../interfaces/inner_api/native/audiocommon/include", 161 "../../../interfaces/inner_api/native/audiorenderer/include", 162 "../../../services/audio_service/client/include", 163 ] 164 165 cflags = [ 166 "-Wall", 167 "-Werror", 168 ] 169 170 configs = [ ":audio_renderer_config" ] 171 172 deps = [ 173 ":audio_renderer", 174 "../audiocapturer:audio_capturer", 175 ] 176 177 external_deps = [ 178 "c_utils:utils", 179 "hilog:libhilog", 180 ] 181 182 part_name = "audio_framework" 183 subsystem_name = "multimedia" 184} 185 186ohos_executable("audio_interrupt_test") { 187 install_enable = false 188 189 sources = [ "test/example/audio_interrupt_test.cpp" ] 190 191 configs = [ ":audio_renderer_config" ] 192 193 deps = [ ":audio_renderer" ] 194 195 external_deps = [ 196 "c_utils:utils", 197 "hilog:libhilog", 198 ] 199 200 part_name = "audio_framework" 201 subsystem_name = "multimedia" 202} 203 204ohos_executable("interrupt_multi_renderer_test") { 205 install_enable = false 206 207 sources = [ "test/example/interrupt_multi_renderer_test.cpp" ] 208 209 configs = [ ":audio_renderer_config" ] 210 211 deps = [ ":audio_renderer" ] 212 213 external_deps = [ 214 "c_utils:utils", 215 "hilog:libhilog", 216 ] 217 218 part_name = "audio_framework" 219 subsystem_name = "multimedia" 220} 221 222ohos_executable("audio_blendmode_test") { 223 install_enable = false 224 225 sources = [ "test/example/audio_blendmode_test.cpp" ] 226 227 configs = [ ":audio_renderer_config" ] 228 229 deps = [ ":audio_renderer" ] 230 231 external_deps = [ 232 "bounds_checking_function:libsec_shared", 233 "c_utils:utils", 234 "hilog:libhilog", 235 "ipc:ipc_single", 236 "ipc:ipc_single", 237 "safwk:system_ability_fwk", 238 ] 239 240 part_name = "audio_framework" 241 subsystem_name = "multimedia" 242} 243