• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
29ohos_shared_library("avsession_client") {
30  install_enable = true
31  ipc_sources = [
32    "../../../services/session/ipc/proxy/avsession_controller_proxy.cpp",
33    "../../../services/session/ipc/proxy/avsession_proxy.cpp",
34    "../../../services/session/ipc/proxy/avsession_service_proxy.cpp",
35  ]
36
37  client_sources = [
38    "src/avcontroller_callback_client.cpp",
39    "src/avsession_callback_client.cpp",
40    "src/avsession_manager.cpp",
41    "src/avsession_manager_impl.cpp",
42    "src/session_listener_client.cpp",
43  ]
44
45  common_sources = [
46    "../../../frameworks/common/src/av_cast_info.cpp",
47    "../../../frameworks/common/src/av_data_src_descriptor.cpp",
48    "../../../frameworks/common/src/av_file_descriptor.cpp",
49    "../../../frameworks/common/src/av_shared_memory_base.cpp",
50    "../../../frameworks/common/src/avcall_meta_data.cpp",
51    "../../../frameworks/common/src/avcall_state.cpp",
52    "../../../frameworks/common/src/avcast_control_command.cpp",
53    "../../../frameworks/common/src/avcast_player_state.cpp",
54    "../../../frameworks/common/src/avcontrol_command.cpp",
55    "../../../frameworks/common/src/avmedia_description.cpp",
56    "../../../frameworks/common/src/avmeta_data.cpp",
57    "../../../frameworks/common/src/avplayback_state.cpp",
58    "../../../frameworks/common/src/avqueue_info.cpp",
59    "../../../frameworks/common/src/avqueue_item.cpp",
60    "../../../frameworks/common/src/avsession_descriptor.cpp",
61    "../../../frameworks/common/src/avsession_pixel_map.cpp",
62    "../../../frameworks/common/src/media_info.cpp",
63    "../../../frameworks/common/src/media_info_holder.cpp",
64  ]
65
66  sanitize = {
67    cfi = true
68    cfi_cross_dso = true
69    debug = false
70  }
71
72  sources = ipc_sources + client_sources + common_sources
73
74  public_configs = [
75    ":avsession_client_config",
76    "../../../services/session:avsession_ipc_config",
77  ]
78
79  deps = [
80    "../../common:avsession_common",
81    "../../../services/session:libidl_avsession_service_interface_stub",
82    "../../../services/session:libidl_avsession_service_interface_proxy",
83    "../../../utils:avsession_utils",
84    "../session:avsession_cast_client",
85  ]
86
87  external_deps = [
88    "ability_base:want",
89    "ability_runtime:wantagent_innerkits",
90    "audio_framework:audio_foundation",
91    "c_utils:utils",
92    "hilog:libhilog",
93    "input:libmmi-client",
94    "ipc:ipc_single",
95    "samgr:samgr_proxy",
96  ]
97
98  cflags = []
99
100  if (castplus_cast_engine_enable) {
101    cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ]
102  }
103
104  if (multimedia_av_session_enable_trace_control) {
105    cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ]
106    external_deps += [ "hitrace:hitrace_meter" ]
107  }
108  if (multimedia_av_session_enable_sysevent_control) {
109    cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ]
110    external_deps += [ "hisysevent:libhisysevent" ]
111  }
112
113  if (av_session_enable_start_stop_on_demand) {
114    cflags += [ "-DSTART_STOP_ON_DEMAND_ENABLE" ]
115  }
116
117  innerapi_tags = [ "platformsdk" ]
118  subsystem_name = "multimedia"
119  part_name = "av_session"
120}
121
122ohos_static_library("avsession_client_static") {
123  #install_enable = true
124  ipc_sources = [
125    "../../../services/session/ipc/proxy/avsession_controller_proxy.cpp",
126    "../../../services/session/ipc/proxy/avsession_proxy.cpp",
127    "../../../services/session/ipc/proxy/avsession_service_proxy.cpp",
128  ]
129
130  client_sources = [
131    "src/avcontroller_callback_client.cpp",
132    "src/avsession_callback_client.cpp",
133    "src/avsession_manager.cpp",
134    "src/avsession_manager_impl.cpp",
135    "src/session_listener_client.cpp",
136  ]
137
138  sanitize = {
139    cfi = true
140    cfi_cross_dso = true
141    debug = false
142  }
143
144  sources = ipc_sources + client_sources
145
146  public_configs = [
147    ":avsession_client_config",
148    "../../../services/session:avsession_ipc_config",
149  ]
150
151  deps = [
152    "../../../services/session:libidl_avsession_service_interface_stub",
153    "../../../services/session:libidl_avsession_service_interface_proxy",
154  ]
155
156  deps += [
157    "../../common:avsession_common",
158    "../../../utils:avsession_utils",
159  ]
160
161  external_deps = [
162    "ability_base:want",
163    "ability_runtime:wantagent_innerkits",
164    "audio_framework:audio_foundation",
165    "c_utils:utils",
166    "hilog:libhilog",
167    "input:libmmi-client",
168    "ipc:ipc_single",
169    "samgr:samgr_proxy",
170  ]
171
172  cflags = []
173
174  if (castplus_cast_engine_enable) {
175    cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ]
176    deps += [ "./../session:avsession_cast_client" ]
177  }
178
179  if (multimedia_av_session_enable_trace_control) {
180    cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ]
181    external_deps += [ "hitrace:hitrace_meter" ]
182  }
183  if (multimedia_av_session_enable_sysevent_control) {
184    cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ]
185    external_deps += [ "hisysevent:libhisysevent" ]
186  }
187
188  if (av_session_enable_start_stop_on_demand) {
189    cflags += [ "-DSTART_STOP_ON_DEMAND_ENABLE" ]
190  }
191
192  subsystem_name = "multimedia"
193  part_name = "av_session"
194}
195
196ohos_shared_library("avsession_cast_client") {
197  install_enable = true
198  sanitize = {
199    cfi = true
200    cfi_cross_dso = true
201    debug = false
202  }
203  ipc_sources = [
204    "../../../services/session/ipc/proxy/avcast_controller_proxy.cpp",
205  ]
206
207  client_sources = [ "src/avcast_controller_callback_client.cpp" ]
208
209  sources = ipc_sources + client_sources
210
211  public_configs = [
212    ":avsession_client_config",
213    "../../../services/session:avsession_ipc_config",
214  ]
215
216  public_deps = [
217    "../../../utils:avsession_utils",
218    "../../common:avsession_common",
219  ]
220
221  deps = [
222    "../../../services/session:libidl_avsession_service_interface_stub",
223    "../../../services/session:libidl_avsession_service_interface_proxy",
224  ]
225
226  external_deps = [
227    "ability_base:want",
228    "ability_runtime:wantagent_innerkits",
229    "audio_framework:audio_client",
230    "c_utils:utils",
231    "graphic_surface:surface",
232    "hilog:libhilog",
233    "image_framework:image_native",
234    "input:libmmi-client",
235    "ipc:ipc_single",
236    "samgr:samgr_proxy",
237  ]
238
239  cflags = []
240
241  if (multimedia_av_session_enable_trace_control) {
242    cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ]
243    external_deps += [ "hitrace:hitrace_meter" ]
244  }
245
246  if (multimedia_av_session_enable_sysevent_control) {
247    cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ]
248    external_deps += [ "hisysevent:libhisysevent" ]
249  }
250
251  innerapi_tags = [ "platformsdk" ]
252  subsystem_name = "multimedia"
253  part_name = "av_session"
254}
255