1# Copyright (c) 2022-2022 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("//foundation/multimedia/media_foundation/config.gni")
15group("plugin_standard_video_surface_sink") {
16  deps = []
17  if (hst_is_lite_sys) {
18    print("std video surface sink plugin is not available on lite systems")
19  } else {
20    deps += [ ":histreamer_plugin_StdVideoSurfaceSink" ]
21  }
22}
23
24ohos_source_set("std_video_surface_sink") {
25  subsystem_name = "multimedia"
26  part_name = "media_foundation"
27  sources = [ "surface_sink_plugin.cpp" ]
28  public_deps = [
29    "//foundation/multimedia/media_foundation/engine/foundation:histreamer_foundation",
30    "//foundation/multimedia/media_foundation/engine/plugin:histreamer_plugin_base",
31  ]
32
33  public_configs =
34      [ "//foundation/multimedia/media_foundation:histreamer_presets" ]
35  if (hst_is_lite_sys) {
36    print("std video surface sink plugin is not available on lite systems")
37  } else {
38    include_dirs = [ "//foundation/multimedia/media_foundation/engine/include" ]
39    deps = []
40    external_deps = [
41      "bounds_checking_function:libsec_shared",
42      "c_utils:utils",
43      "c_utils:utilsbase",
44      "drivers_peripheral_display:hdi_gralloc_client",
45      "graphic_2d:libgraphic_utils",
46      "graphic_surface:surface",
47      "graphic_surface:sync_fence",
48      "hilog:libhilog",
49      "init:libbeget_proxy",
50      "ipc:ipc_core",
51    ]
52  }
53}
54
55if (hst_is_lite_sys) {
56  print("std video surface sink plugin is not available on lite systems")
57} else {
58  import("//build/ohos.gni")
59  ohos_shared_library("histreamer_plugin_StdVideoSurfaceSink") {
60    sanitize = {
61      cfi = true
62      cfi_cross_dso = true
63      debug = false
64      integer_overflow = true
65    }
66    deps = [ ":std_video_surface_sink" ]
67    external_deps = [ "hilog:libhilog" ]
68    relative_install_dir = "media/histreamer_plugins"
69    subsystem_name = "multimedia"
70    part_name = "media_foundation"
71  }
72}
73