150a07fd2Sopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd.
250a07fd2Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
350a07fd2Sopenharmony_ci# you may not use this file except in compliance with the License.
450a07fd2Sopenharmony_ci# You may obtain a copy of the License at
550a07fd2Sopenharmony_ci#
650a07fd2Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
750a07fd2Sopenharmony_ci#
850a07fd2Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
950a07fd2Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1050a07fd2Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1150a07fd2Sopenharmony_ci# See the License for the specific language governing permissions and
1250a07fd2Sopenharmony_ci# limitations under the License.
1350a07fd2Sopenharmony_ci
1450a07fd2Sopenharmony_ciimport("//build/ohos.gni")
1550a07fd2Sopenharmony_ciimport("//build/ohos_var.gni")
1650a07fd2Sopenharmony_ciimport("../../../distributedaudio.gni")
1750a07fd2Sopenharmony_ci
1850a07fd2Sopenharmony_ciohos_shared_library("distributed_audio_sink") {
1950a07fd2Sopenharmony_ci  branch_protector_ret = "pac_ret"
2050a07fd2Sopenharmony_ci  sanitize = {
2150a07fd2Sopenharmony_ci    boundary_sanitize = true
2250a07fd2Sopenharmony_ci    cfi = true
2350a07fd2Sopenharmony_ci    cfi_cross_dso = true
2450a07fd2Sopenharmony_ci    debug = false
2550a07fd2Sopenharmony_ci    integer_overflow = true
2650a07fd2Sopenharmony_ci    ubsan = true
2750a07fd2Sopenharmony_ci  }
2850a07fd2Sopenharmony_ci  stack_protector_ret = true
2950a07fd2Sopenharmony_ci
3050a07fd2Sopenharmony_ci  include_dirs = [
3150a07fd2Sopenharmony_ci    "include",
3250a07fd2Sopenharmony_ci    "${audio_client_path}/interface",
3350a07fd2Sopenharmony_ci    "${audio_client_path}/micclient/include",
3450a07fd2Sopenharmony_ci    "${audio_client_path}/spkclient/include",
3550a07fd2Sopenharmony_ci    "${audio_control_path}/controlsink/include",
3650a07fd2Sopenharmony_ci    "${audio_processor_path}/interface",
3750a07fd2Sopenharmony_ci    "${audio_transport_path}/interface",
3850a07fd2Sopenharmony_ci    "${audio_transport_path}/receiverengine/include",
3950a07fd2Sopenharmony_ci    "${audio_transport_path}/senderengine/include",
4050a07fd2Sopenharmony_ci    "${common_path}/dfx_utils/include",
4150a07fd2Sopenharmony_ci    "${common_path}/include",
4250a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_sink/include",
4350a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_source/include",
4450a07fd2Sopenharmony_ci    "${services_path}/audiomanager/managersink/include",
4550a07fd2Sopenharmony_ci    "${services_path}/common/audioeventcallback",
4650a07fd2Sopenharmony_ci    "${services_path}/common/audiodata/include",
4750a07fd2Sopenharmony_ci    "${services_path}/common/audioparam",
4850a07fd2Sopenharmony_ci  ]
4950a07fd2Sopenharmony_ci
5050a07fd2Sopenharmony_ci  sources = [
5150a07fd2Sopenharmony_ci    "${audio_client_path}/micclient/src/dmic_client.cpp",
5250a07fd2Sopenharmony_ci    "${audio_client_path}/spkclient/src/dspeaker_client.cpp",
5350a07fd2Sopenharmony_ci    "${audio_control_path}/controlsink/src/daudio_sink_dev_ctrl_manager.cpp",
5450a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_sink/src/daudio_sink_handler.cpp",
5550a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_sink/src/daudio_sink_load_callback.cpp",
5650a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_sink/src/daudio_sink_proxy.cpp",
5750a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_source/src/daudio_source_proxy.cpp",
5850a07fd2Sopenharmony_ci    "${services_path}/audiomanager/managersink/src/daudio_sink_dev.cpp",
5950a07fd2Sopenharmony_ci    "${services_path}/audiomanager/managersink/src/daudio_sink_manager.cpp",
6050a07fd2Sopenharmony_ci    "src/daudio_sink_hidumper.cpp",
6150a07fd2Sopenharmony_ci    "src/daudio_sink_ipc_callback_proxy.cpp",
6250a07fd2Sopenharmony_ci    "src/daudio_sink_service.cpp",
6350a07fd2Sopenharmony_ci    "src/daudio_sink_stub.cpp",
6450a07fd2Sopenharmony_ci  ]
6550a07fd2Sopenharmony_ci
6650a07fd2Sopenharmony_ci  deps = [
6750a07fd2Sopenharmony_ci    "${audio_transport_path}/receiverengine:distributed_audio_decode_transport",
6850a07fd2Sopenharmony_ci    "${audio_transport_path}/senderengine:distributed_audio_encode_transport",
6950a07fd2Sopenharmony_ci    "${innerkits_path}/native_cpp/audio_sink:distributed_audio_sink_sdk",
7050a07fd2Sopenharmony_ci    "${services_path}/common:distributed_audio_utils",
7150a07fd2Sopenharmony_ci  ]
7250a07fd2Sopenharmony_ci
7350a07fd2Sopenharmony_ci  external_deps = [
7450a07fd2Sopenharmony_ci    "access_token:libaccesstoken_sdk",
7550a07fd2Sopenharmony_ci    "access_token:libtokenid_sdk",
7650a07fd2Sopenharmony_ci    "audio_framework:audio_capturer",
7750a07fd2Sopenharmony_ci    "audio_framework:audio_client",
7850a07fd2Sopenharmony_ci    "audio_framework:audio_renderer",
7950a07fd2Sopenharmony_ci    "cJSON:cjson",
8050a07fd2Sopenharmony_ci    "c_utils:utils",
8150a07fd2Sopenharmony_ci    "device_manager:devicemanagersdk",
8250a07fd2Sopenharmony_ci    "distributed_hardware_fwk:distributed_av_receiver",
8350a07fd2Sopenharmony_ci    "distributed_hardware_fwk:distributed_av_sender",
8450a07fd2Sopenharmony_ci    "distributed_hardware_fwk:distributedhardwareutils",
8550a07fd2Sopenharmony_ci    "distributed_hardware_fwk:libdhfwk_sdk",
8650a07fd2Sopenharmony_ci    "dsoftbus:softbus_client",
8750a07fd2Sopenharmony_ci    "eventhandler:libeventhandler",
8850a07fd2Sopenharmony_ci    "hdf_core:libhdf_ipc_adapter",
8950a07fd2Sopenharmony_ci    "hdf_core:libhdi",
9050a07fd2Sopenharmony_ci    "hilog:libhilog",
9150a07fd2Sopenharmony_ci    "hisysevent:libhisysevent",
9250a07fd2Sopenharmony_ci    "hitrace:hitrace_meter",
9350a07fd2Sopenharmony_ci    "ipc:ipc_core",
9450a07fd2Sopenharmony_ci    "safwk:system_ability_fwk",
9550a07fd2Sopenharmony_ci    "samgr:samgr_proxy",
9650a07fd2Sopenharmony_ci  ]
9750a07fd2Sopenharmony_ci
9850a07fd2Sopenharmony_ci  defines = [
9950a07fd2Sopenharmony_ci    "HI_LOG_ENABLE",
10050a07fd2Sopenharmony_ci    "LOG_DOMAIN=0xD004130",
10150a07fd2Sopenharmony_ci  ]
10250a07fd2Sopenharmony_ci
10350a07fd2Sopenharmony_ci  if (device_security_level_control) {
10450a07fd2Sopenharmony_ci    external_deps += [ "device_security_level:dslm_sdk" ]
10550a07fd2Sopenharmony_ci    defines += [ "DEVICE_SECURITY_LEVEL_ENABLE" ]
10650a07fd2Sopenharmony_ci  }
10750a07fd2Sopenharmony_ci
10850a07fd2Sopenharmony_ci  subsystem_name = "distributedhardware"
10950a07fd2Sopenharmony_ci
11050a07fd2Sopenharmony_ci  part_name = "distributed_audio"
11150a07fd2Sopenharmony_ci}
112