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