• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2020-2021 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.
13import("//build/lite/config/component/lite_component.gni")
14import("//build/lite/ndk/ndk.gni")
15import("//foundation/multimedia/utils/lite/config.gni")
16
17if (ohos_kernel_type != "liteos_m") {
18  shared_library("player_lite") {
19    if (enable_media_passthrough_mode == false) {
20      sources = [
21        "binder/player.cpp",
22        "binder/player_client.cpp",
23      ]
24    } else {
25      sources = [
26        "passthrough/liteplayer/player.cpp",
27        "passthrough/liteplayer/player_client.cpp",
28      ]
29    }
30    cflags = [ "-fPIC" ]
31    cflags += [ "-Wall" ]
32    cflags += [ "-Werror" ]
33    cflags_cc = cflags
34
35    outdir = rebase_path("$root_out_dir")
36    ldflags = [ "-L$outdir" ]
37    include_dirs = [ "//base/security/permission_lite/interfaces/kits" ]
38
39    if (enable_media_passthrough_mode == false) {
40      include_dirs +=
41          [ "//foundation/multimedia/media_lite/frameworks/player_lite/binder" ]
42      deps = [
43        "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single",
44        "//foundation/graphic/surface:lite_surface",
45        "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
46      ]
47    } else {
48      include_dirs += [
49        "//foundation/multimedia/media_lite/frameworks/player_lite/passthrough/liteplayer",
50        "//foundation/multimedia/media_lite/services/player_lite/impl",
51        "//foundation/multimedia/media_lite/services/player_lite/impl/buffersource/include",
52        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/include",
53        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player",
54        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player/fsm/src",
55        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player/fsm/include",
56        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/source",
57        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/sink",
58        "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/decoder",
59        "//drivers/peripheral/display/interfaces/include",
60        "//drivers/peripheral/base",
61        "//drivers/peripheral/format/interfaces/include",
62        "//drivers/peripheral/audio/interfaces/include",
63        "//drivers/peripheral/codec/interfaces/include",
64      ]
65      deps = [
66        "//foundation/multimedia/media_lite/services/player_lite:player_impl",
67      ]
68      ldflags += [ "-laudio_hw" ]
69      ldflags += [ "-lcodec" ]
70      ldflags += [ "-lformat_hw" ]
71      ldflags += [ "-lhdi_videodisplayer" ]
72    }
73
74    public_configs = [ ":player_external_library_config" ]
75    public_deps = [
76      "//base/security/permission_lite/services/pms_client:pms_client",
77      "//foundation/graphic/surface:lite_surface",
78      "//foundation/multimedia/utils/lite:media_common",
79      "//third_party/bounds_checking_function:libsec_shared",
80    ]
81  }
82
83  config("player_external_library_config") {
84    include_dirs =
85        [ "//foundation/multimedia/media_lite/interfaces/kits/player_lite" ]
86    include_dirs +=
87        [ "//foundation/multimedia/media_lite/interfaces/innerkits" ]
88    include_dirs += [ "//foundation/multimedia/utils/lite/interfaces/kits" ]
89  }
90
91  lite_component("media_lite") {
92    features = [
93      ":player_lite",
94      "//foundation/multimedia/media_lite/interfaces/kits/player_lite/js/builtin:audio_lite_api",
95    ]
96  }
97} else {
98  static_library("player_lite") {
99    sources = [ "passthrough/histreamer/player.cpp" ]
100    include_dirs =
101        [ "//base/hiviewdfx/hilog_lite/interfaces/native/innerkits/hilog" ]
102    public_deps = [
103      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static",
104      "//foundation/multimedia/histreamer:histreamer",
105    ]
106    public_configs = [ ":player_direct_external_library_config" ]
107  }
108
109  config("player_direct_external_library_config") {
110    include_dirs = [
111      "//foundation/multimedia/media_lite/interfaces/innerkits",
112      "//foundation/multimedia/frameworks/player_lite",
113      "//foundation/multimedia/utils/lite/interfaces/kits",
114      "//foundation/multimedia/media_lite/interfaces/kits/player_lite",
115      "//drivers/peripheral/format/interfaces/include",
116    ]
117  }
118}
119