166f3657fSopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd.
266f3657fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
366f3657fSopenharmony_ci# you may not use this file except in compliance with the License.
466f3657fSopenharmony_ci# You may obtain a copy of the License at
566f3657fSopenharmony_ci#
666f3657fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
766f3657fSopenharmony_ci#
866f3657fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
966f3657fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1066f3657fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1166f3657fSopenharmony_ci# See the License for the specific language governing permissions and
1266f3657fSopenharmony_ci# limitations under the License.
1366f3657fSopenharmony_ci
1466f3657fSopenharmony_ciimport("//build/ohos.gni")
1566f3657fSopenharmony_ciimport("//build/ohos_var.gni")
1666f3657fSopenharmony_ciimport(
1766f3657fSopenharmony_ci    "//foundation/distributedhardware/distributed_screen/distributedscreen.gni")
1866f3657fSopenharmony_ci
1966f3657fSopenharmony_ciohos_shared_library("distributed_screen_sinktrans") {
2066f3657fSopenharmony_ci  sanitize = {
2166f3657fSopenharmony_ci    cfi = true
2266f3657fSopenharmony_ci    cfi_cross_dso = true
2366f3657fSopenharmony_ci    debug = false
2466f3657fSopenharmony_ci    boundary_sanitize = true
2566f3657fSopenharmony_ci    integer_overflow = true
2666f3657fSopenharmony_ci    ubsan = true
2766f3657fSopenharmony_ci  }
2866f3657fSopenharmony_ci  branch_protector_ret = "pac_ret"
2966f3657fSopenharmony_ci
3066f3657fSopenharmony_ci  include_dirs = [
3166f3657fSopenharmony_ci    "./include",
3266f3657fSopenharmony_ci    "${common_path}/include",
3366f3657fSopenharmony_ci    "${services_path}/common/databuffer/include",
3466f3657fSopenharmony_ci    "${services_path}/common/imageJpeg/include",
3566f3657fSopenharmony_ci    "${services_path}/common/screen_channel/include",
3666f3657fSopenharmony_ci    "${services_path}/common/utils/include",
3766f3657fSopenharmony_ci    "${services_path}/screentransport/screendatachannel/include",
3866f3657fSopenharmony_ci    "${services_path}/screentransport/screensinktrans/include",
3966f3657fSopenharmony_ci    "${services_path}/screentransport/screensinkprocessor/include",
4066f3657fSopenharmony_ci    "${services_path}/screentransport/screensinkprocessor/decoder/include",
4166f3657fSopenharmony_ci    "${services_path}/screentransport/screensourceprocessor/include",
4266f3657fSopenharmony_ci    "${services_path}/softbusadapter/include",
4366f3657fSopenharmony_ci  ]
4466f3657fSopenharmony_ci
4566f3657fSopenharmony_ci  sources = [
4666f3657fSopenharmony_ci    "${common_path}/src/dscreen_json_util.cpp",
4766f3657fSopenharmony_ci    "${services_path}/common/databuffer/src/data_buffer.cpp",
4866f3657fSopenharmony_ci    "${services_path}/common/imageJpeg/src/jpeg_image_processor.cpp",
4966f3657fSopenharmony_ci    "${services_path}/common/utils/src/dscreen_fwkkit.cpp",
5066f3657fSopenharmony_ci    "${services_path}/common/utils/src/video_param.cpp",
5166f3657fSopenharmony_ci    "${services_path}/screentransport/screendatachannel/src/screen_data_channel_impl.cpp",
5266f3657fSopenharmony_ci    "${services_path}/screentransport/screensinkprocessor/decoder/src/image_decoder_callback.cpp",
5366f3657fSopenharmony_ci    "${services_path}/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp",
5466f3657fSopenharmony_ci    "${services_path}/screentransport/screensinkprocessor/src/image_sink_processor.cpp",
5566f3657fSopenharmony_ci    "${services_path}/softbusadapter/src/softbus_adapter.cpp",
5666f3657fSopenharmony_ci    "./src/screen_sink_trans.cpp",
5766f3657fSopenharmony_ci  ]
5866f3657fSopenharmony_ci
5966f3657fSopenharmony_ci  deps = [ "${common_path}:distributed_screen_utils" ]
6066f3657fSopenharmony_ci
6166f3657fSopenharmony_ci  defines = [
6266f3657fSopenharmony_ci    "HI_LOG_ENABLE",
6366f3657fSopenharmony_ci    "DH_LOG_TAG=\"dscreensinktrans\"",
6466f3657fSopenharmony_ci    "LOG_DOMAIN=0xD004140",
6566f3657fSopenharmony_ci  ]
6666f3657fSopenharmony_ci
6766f3657fSopenharmony_ci  external_deps = [
6866f3657fSopenharmony_ci    "av_codec:av_codec_client",
6966f3657fSopenharmony_ci    "c_utils:utils",
7066f3657fSopenharmony_ci    "distributed_hardware_fwk:distributed_av_receiver",
7166f3657fSopenharmony_ci    "distributed_hardware_fwk:distributedhardwareutils",
7266f3657fSopenharmony_ci    "distributed_hardware_fwk:libdhfwk_sdk",
7366f3657fSopenharmony_ci    "dsoftbus:softbus_client",
7466f3657fSopenharmony_ci    "graphic_surface:surface",
7566f3657fSopenharmony_ci    "hilog:libhilog",
7666f3657fSopenharmony_ci    "hisysevent:libhisysevent",
7766f3657fSopenharmony_ci    "hitrace:hitrace_meter",
7866f3657fSopenharmony_ci    "ipc:ipc_core",
7966f3657fSopenharmony_ci    "json:nlohmann_json_static",
8066f3657fSopenharmony_ci    "libjpeg-turbo:turbojpeg",
8166f3657fSopenharmony_ci    "media_foundation:media_foundation",
8266f3657fSopenharmony_ci  ]
8366f3657fSopenharmony_ci
8466f3657fSopenharmony_ci  subsystem_name = "distributedhardware"
8566f3657fSopenharmony_ci
8666f3657fSopenharmony_ci  part_name = "distributed_screen"
8766f3657fSopenharmony_ci}
88