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