1# Copyright (c) 2022-2023 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("../../../castplus_cast_engine_part.gni") 16import("../../../config.gni") 17 18config("avsession_client_config") { 19 include_dirs = [ 20 "include", 21 "../../../interfaces/inner_api/native/session/include", 22 "../../../services/session/ipc/base", 23 "../../../services/session/ipc/proxy", 24 "../../../services/session/ipc/stub", 25 ] 26} 27 28ohos_shared_library("avsession_client") { 29 install_enable = true 30 ipc_sources = [ 31 "../../../services/session/ipc/proxy/avsession_controller_proxy.cpp", 32 "../../../services/session/ipc/proxy/avsession_proxy.cpp", 33 "../../../services/session/ipc/proxy/avsession_service_proxy.cpp", 34 "../../../services/session/ipc/stub/avcontroller_callback_stub.cpp", 35 "../../../services/session/ipc/stub/avsession_callback_stub.cpp", 36 "../../../services/session/ipc/stub/session_listener_stub.cpp", 37 ] 38 39 client_sources = [ 40 "src/avcontroller_callback_client.cpp", 41 "src/avsession_callback_client.cpp", 42 "src/avsession_manager.cpp", 43 "src/avsession_manager_impl.cpp", 44 "src/avsession_pixel_map_adapter.cpp", 45 "src/session_listener_client.cpp", 46 ] 47 48 sanitize = { 49 cfi = true 50 cfi_cross_dso = true 51 debug = false 52 } 53 54 sources = ipc_sources + client_sources 55 56 public_configs = [ ":avsession_client_config" ] 57 58 public_deps = [ 59 "../../../utils:avsession_utils", 60 "../../common:avsession_common", 61 ] 62 63 external_deps = [ 64 "ability_base:want", 65 "ability_runtime:wantagent_innerkits", 66 "audio_framework:audio_client", 67 "c_utils:utils", 68 "hilog:libhilog", 69 "image_framework:image_native", 70 "input:libmmi-client", 71 "ipc:ipc_single", 72 "samgr:samgr_proxy", 73 ] 74 75 cflags = [] 76 77 if (castplus_cast_engine_enable) { 78 cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ] 79 public_deps += [ "./../session:avsession_cast_client" ] 80 } 81 82 if (multimedia_av_session_enable_trace_control) { 83 cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 84 external_deps += [ "hitrace:hitrace_meter" ] 85 } 86 if (multimedia_av_session_enable_sysevent_control) { 87 cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 88 external_deps += [ "hisysevent:libhisysevent" ] 89 } 90 91 innerapi_tags = [ "platformsdk" ] 92 subsystem_name = "multimedia" 93 part_name = "av_session" 94} 95 96ohos_shared_library("avsession_cast_client") { 97 install_enable = true 98 sanitize = { 99 cfi = true 100 cfi_cross_dso = true 101 debug = false 102 } 103 ipc_sources = [ 104 "../../../services/session/ipc/proxy/avcast_controller_proxy.cpp", 105 "../../../services/session/ipc/stub/avcast_controller_callback_stub.cpp", 106 ] 107 108 client_sources = [ "src/avcast_controller_callback_client.cpp" ] 109 110 sources = ipc_sources + client_sources 111 112 public_configs = [ ":avsession_client_config" ] 113 114 public_deps = [ 115 "../../../utils:avsession_utils", 116 "../../common:avsession_common", 117 ] 118 119 external_deps = [ 120 "ability_base:want", 121 "ability_runtime:wantagent_innerkits", 122 "audio_framework:audio_client", 123 "c_utils:utils", 124 "graphic_surface:surface", 125 "hilog:libhilog", 126 "image_framework:image_native", 127 "input:libmmi-client", 128 "ipc:ipc_single", 129 "samgr:samgr_proxy", 130 ] 131 132 cflags = [] 133 134 if (multimedia_av_session_enable_trace_control) { 135 cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 136 external_deps += [ "hitrace:hitrace_meter" ] 137 } 138 139 if (multimedia_av_session_enable_sysevent_control) { 140 cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 141 external_deps += [ "hisysevent:libhisysevent" ] 142 } 143 144 innerapi_tags = [ "platformsdk" ] 145 subsystem_name = "multimedia" 146 part_name = "av_session" 147} 148