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 17config("avsession_client_config") { 18 include_dirs = [ 19 "//foundation/multimedia/av_session/frameworks/native/session/include", 20 "//foundation/multimedia/av_session/interfaces/inner_api/native/session/include", 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 ] 25} 26 27ohos_shared_library("avsession_client") { 28 install_enable = true 29 sanitize = { 30 cfi = true 31 debug = false 32 } 33 ipc_sources = [ 34 "//foundation/multimedia/av_session/services/session/ipc/proxy/avsession_controller_proxy.cpp", 35 "//foundation/multimedia/av_session/services/session/ipc/proxy/avsession_proxy.cpp", 36 "//foundation/multimedia/av_session/services/session/ipc/proxy/avsession_service_proxy.cpp", 37 "//foundation/multimedia/av_session/services/session/ipc/stub/avcontroller_callback_stub.cpp", 38 "//foundation/multimedia/av_session/services/session/ipc/stub/avsession_callback_stub.cpp", 39 "//foundation/multimedia/av_session/services/session/ipc/stub/session_listener_stub.cpp", 40 ] 41 42 client_sources = [ 43 "src/avcontroller_callback_client.cpp", 44 "src/avsession_callback_client.cpp", 45 "src/avsession_manager.cpp", 46 "src/avsession_manager_impl.cpp", 47 "src/avsession_pixel_map_adapter.cpp", 48 "src/session_listener_client.cpp", 49 ] 50 51 sources = ipc_sources + client_sources 52 53 public_configs = [ ":avsession_client_config" ] 54 55 public_deps = [ 56 "//foundation/multimedia/av_session/frameworks/common:avsession_common", 57 "//foundation/multimedia/av_session/utils:avsession_utils", 58 ] 59 60 external_deps = [ 61 "ability_base:want", 62 "ability_runtime:wantagent_innerkits", 63 "c_utils:utils", 64 "hiviewdfx_hilog_native:libhilog", 65 "input:libmmi-client", 66 "ipc:ipc_core", 67 "multimedia_audio_framework:audio_client", 68 "multimedia_image_framework:image_native", 69 "samgr:samgr_proxy", 70 ] 71 72 if (multimedia_av_session_enable_trace_control) { 73 cflags = [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 74 external_deps += [ "hitrace_native:hitrace_meter" ] 75 } 76 if (multimedia_av_session_enable_sysevent_control) { 77 cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 78 external_deps += [ "hisysevent_native:libhisysevent" ] 79 } 80 81 subsystem_name = "multimedia" 82 part_name = "multimedia_av_session" 83} 84