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/src/service/device/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 "../audioutils:audio_utils", 57 ] 58 external_deps = [ 59 "c_utils:utils", 60 "eventhandler:libeventhandler", 61 "hilog:libhilog", 62 "ipc:ipc_single", 63 "media_foundation:media_monitor_client", 64 "media_foundation:media_monitor_common", 65 "samgr:samgr_proxy", 66 ] 67 68 public_configs = [ ":audio_external_library_config" ] 69 70 version_script = "../../../audio_framework.versionscript" 71 innerapi_tags = [ "platformsdk" ] 72 73 part_name = "audio_framework" 74 subsystem_name = "multimedia" 75} 76 77config("audio_external_library_config") { 78 include_dirs = 79 [ "../../../interfaces/inner_api/native/audiorenderer/include" ] 80} 81 82group("audio_renderer_test_packages") { 83 deps = [ 84 ":audio_interrupt_test", 85 ":audio_latency_accuracy_test", 86 ":audio_render_mode_callback_test", 87 ":audio_renderer_test", 88 ":audio_voip_test", 89 ":interrupt_multi_renderer_test", 90 ] 91} 92 93ohos_executable("audio_renderer_test") { 94 install_enable = false 95 96 sources = [ "test/example/audio_renderer_test.cpp" ] 97 98 configs = [ ":audio_renderer_config" ] 99 100 deps = [ ":audio_renderer" ] 101 102 external_deps = [ "hilog:libhilog" ] 103 104 part_name = "audio_framework" 105 subsystem_name = "multimedia" 106} 107 108ohos_executable("audio_latency_accuracy_test") { 109 install_enable = false 110 111 sources = [ "test/example/audio_renderer_test.cpp" ] 112 113 configs = [ ":audio_renderer_config" ] 114 cflags = [ "-DLATENCY_ACCURACY_TEST" ] 115 116 deps = [ ":audio_renderer" ] 117 118 external_deps = [ "hilog:libhilog" ] 119 120 part_name = "audio_framework" 121 subsystem_name = "multimedia" 122} 123 124ohos_executable("audio_render_mode_callback_test") { 125 install_enable = false 126 127 sources = [ "test/example/audio_render_mode_callback_test.cpp" ] 128 129 configs = [ ":audio_renderer_config" ] 130 131 deps = [ ":audio_renderer" ] 132 133 external_deps = [ "hilog:libhilog" ] 134 135 part_name = "audio_framework" 136 subsystem_name = "multimedia" 137} 138 139ohos_executable("audio_voip_test") { 140 install_enable = false 141 142 sources = [ "test/example/audio_voip_test.cpp" ] 143 144 include_dirs = [ 145 "./include", 146 "../audiostream/include", 147 "../audiocapturer/include", 148 "../../../interfaces/inner_api/native/audiocapturer/include", 149 "../../../interfaces/inner_api/native/audiocommon/include", 150 "../../../interfaces/inner_api/native/audiorenderer/include", 151 "../../../services/audio_service/client/include", 152 ] 153 154 cflags = [ 155 "-Wall", 156 "-Werror", 157 ] 158 159 configs = [ ":audio_renderer_config" ] 160 161 deps = [ 162 ":audio_renderer", 163 "../audiocapturer:audio_capturer", 164 ] 165 166 external_deps = [ 167 "hilog:libhilog", 168 "pulseaudio:pulse", 169 ] 170 171 part_name = "audio_framework" 172 subsystem_name = "multimedia" 173} 174 175ohos_executable("audio_interrupt_test") { 176 install_enable = false 177 178 sources = [ "test/example/audio_interrupt_test.cpp" ] 179 180 configs = [ ":audio_renderer_config" ] 181 182 deps = [ ":audio_renderer" ] 183 184 external_deps = [ "hilog:libhilog" ] 185 186 part_name = "audio_framework" 187 subsystem_name = "multimedia" 188} 189 190ohos_executable("interrupt_multi_renderer_test") { 191 install_enable = false 192 193 sources = [ "test/example/interrupt_multi_renderer_test.cpp" ] 194 195 configs = [ ":audio_renderer_config" ] 196 197 deps = [ ":audio_renderer" ] 198 199 external_deps = [ "hilog:libhilog" ] 200 201 part_name = "audio_framework" 202 subsystem_name = "multimedia" 203} 204 205ohos_executable("audio_blendmode_test") { 206 install_enable = false 207 208 sources = [ "test/example/audio_blendmode_test.cpp" ] 209 210 configs = [ ":audio_renderer_config" ] 211 212 deps = [ ":audio_renderer" ] 213 214 external_deps = [ 215 "bounds_checking_function:libsec_shared", 216 "c_utils:utils", 217 "hilog:libhilog", 218 "ipc:ipc_single", 219 "ipc:ipc_single", 220 "pulseaudio:pulse", 221 "safwk:system_ability_fwk", 222 ] 223 224 part_name = "audio_framework" 225 subsystem_name = "multimedia" 226} 227