1# Copyright (c) 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("//foundation/multimedia/av_session/config.gni") 16 17############################################################################### 18common_include_dirs = [ 19 "//foundation/multimedia/av_session/interfaces/inner_api/native/session/include", 20 "//foundation/multimedia/av_session/services/session/server", 21 "//foundation/multimedia/av_session/services/session/ipc/base", 22 "//foundation/multimedia/av_session/services/session/ipc/proxy", 23 "//foundation/multimedia/av_session/services/session/ipc/stub", 24 "//foundation/multimedia/av_session/services/session/server/remote", 25 "//third_party/json/single_include", 26] 27 28common_deps = [ 29 "//foundation/multimedia/av_session/frameworks/native/session:avsession_client", 30 "//foundation/multimedia/av_session/services/session:avession_server", 31 "//foundation/multimedia/av_session/utils:avsession_utils", 32] 33 34common_external_deps = [ 35 "ability_base:want", 36 "ability_runtime:wantagent_innerkits", 37 "c_utils:utils", 38 "data_object:distributeddataobject_impl", 39 "hiviewdfx_hilog_native:libhilog", 40 "input:libmmi-client", 41 "ipc:ipc_core", 42 "multimedia_audio_framework:audio_client", 43 "safwk:system_ability_fwk", 44 "samgr:samgr_proxy", 45] 46 47common_cflags = [] 48if (multimedia_av_session_enable_trace_control) { 49 common_cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 50 common_external_deps += [ "hitrace_native:hitrace_meter" ] 51} 52if (multimedia_av_session_enable_sysevent_control) { 53 common_cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 54 common_external_deps += [ "hisysevent_native:libhisysevent" ] 55} 56 57ohos_shared_library("remote_session_source") { 58 install_enable = true 59 include_dirs = common_include_dirs 60 deps = common_deps 61 cflags = common_cflags 62 external_deps = common_external_deps 63 sanitize = { 64 cfi = true 65 debug = false 66 } 67 source_sources = [ "remote_session_source_impl.cpp" ] 68 69 syncers = [ 70 "remote_session_syncer_impl.cpp", 71 "remote_session_capability_set.cpp", 72 "json_utils.cpp", 73 ] 74 75 sources = source_sources + syncers 76 77 subsystem_name = "multimedia" 78 part_name = "multimedia_av_session" 79} 80 81ohos_shared_library("remote_session_sink") { 82 install_enable = true 83 include_dirs = common_include_dirs 84 deps = common_deps 85 cflags = common_cflags 86 external_deps = common_external_deps 87 sanitize = { 88 cfi = true 89 debug = false 90 } 91 sink_sources = [ "remote_session_sink_impl.cpp" ] 92 93 syncers = [ 94 "remote_session_syncer_impl.cpp", 95 "remote_session_capability_set.cpp", 96 "json_utils.cpp", 97 ] 98 99 sources = sink_sources + syncers 100 101 subsystem_name = "multimedia" 102 part_name = "multimedia_av_session" 103} 104