• 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
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