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