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 sources = ipc_sources + client_sources 49 50 public_configs = [ ":avsession_client_config" ] 51 52 public_deps = [ 53 "../../../utils:avsession_utils", 54 "../../common:avsession_common", 55 ] 56 57 external_deps = [ 58 "ability_base:want", 59 "ability_runtime:wantagent_innerkits", 60 "audio_framework:audio_client", 61 "c_utils:utils", 62 "hilog:libhilog", 63 "image_framework:image_native", 64 "input:libmmi-client", 65 "ipc:ipc_single", 66 "samgr:samgr_proxy", 67 ] 68 69 cflags = [] 70 71 if (castplus_cast_engine_enable) { 72 cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ] 73 public_deps += [ "./../session:avsession_cast_client" ] 74 } 75 76 if (multimedia_av_session_enable_trace_control) { 77 cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 78 external_deps += [ "hitrace:hitrace_meter" ] 79 } 80 if (multimedia_av_session_enable_sysevent_control) { 81 cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 82 external_deps += [ "hisysevent:libhisysevent" ] 83 } 84 85 innerapi_tags = [ "platformsdk" ] 86 subsystem_name = "multimedia" 87 part_name = "av_session" 88} 89 90ohos_shared_library("avsession_cast_client") { 91 install_enable = true 92 sanitize = { 93 cfi = true 94 cfi_cross_dso = true 95 debug = false 96 blocklist = "../../../cfi_blocklist.txt" 97 } 98 ipc_sources = [ 99 "../../../services/session/ipc/proxy/avcast_controller_proxy.cpp", 100 "../../../services/session/ipc/stub/avcast_controller_callback_stub.cpp", 101 ] 102 103 client_sources = [ "src/avcast_controller_callback_client.cpp" ] 104 105 sources = ipc_sources + client_sources 106 107 public_configs = [ ":avsession_client_config" ] 108 109 public_deps = [ 110 "../../../utils:avsession_utils", 111 "../../common:avsession_common", 112 ] 113 114 external_deps = [ 115 "ability_base:want", 116 "ability_runtime:wantagent_innerkits", 117 "audio_framework:audio_client", 118 "c_utils:utils", 119 "hilog:libhilog", 120 "image_framework:image_native", 121 "input:libmmi-client", 122 "ipc:ipc_single", 123 "samgr:samgr_proxy", 124 ] 125 126 cflags = [] 127 128 if (castplus_cast_engine_enable) { 129 external_deps += [ "graphic_surface:surface" ] 130 } 131 132 if (multimedia_av_session_enable_trace_control) { 133 cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 134 external_deps += [ "hitrace:hitrace_meter" ] 135 } 136 137 if (multimedia_av_session_enable_sysevent_control) { 138 cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 139 external_deps += [ "hisysevent:libhisysevent" ] 140 } 141 142 innerapi_tags = [ "platformsdk" ] 143 subsystem_name = "multimedia" 144 part_name = "av_session" 145} 146