• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 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.
13
14import("//build/ohos.gni")
15
16config("media_engine_gst_common_config") {
17  visibility = [ ":*" ]
18
19  cflags = [
20    "-std=c++17",
21    "-fno-rtti",
22    "-fno-exceptions",
23    "-Wall",
24    "-fno-common",
25    "-fstack-protector-strong",
26    "-FPIC",
27    "-FS",
28    "-O2",
29    "-D_FORTIFY_SOURCE=2",
30    "-fvisibility=hidden",
31    "-Wformat=2",
32    "-Wfloat-equal",
33    "-Wdate-time",
34    "-Wno-deprecated-declarations",
35    "-DOHOS_EXT_FUNC",
36    "-DOHOS_OPT_COMPAT",
37    "-Werror",
38    "-Wextra",
39    "-Wimplicit-fallthrough",
40    "-Wsign-compare",
41    "-Wunused-parameter",
42  ]
43
44  include_dirs = [
45    "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include",
46    "//commonlibrary/c_utils/base/include",
47    "//third_party/glib/glib",
48    "//third_party/glib",
49    "//third_party/gstreamer/gstreamer",
50    "//third_party/gstreamer/gstreamer/libs",
51    "//third_party/gstreamer/gstplugins_base",
52    "//third_party/gstreamer/gstplugins_base/gst-libs",
53    "//third_party/gstreamer/gstplugins_bad/gst-libs",
54    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/loader",
55    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/message",
56    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/metadata",
57    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/playbin_adapter",
58    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/state_machine",
59    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/utils",
60    "../player",
61    "./appsrc_engine",
62    "../plugins/common",
63    "//foundation/multimedia/player_framework/services/utils/include",
64    "//foundation/multimedia/player_framework/interfaces/inner_api/native",
65    "//foundation/multimedia/player_framework/services/services/engine_intf",
66  ]
67}
68
69ohos_static_library("media_engine_gst_common") {
70  sources = [
71    "../player/player_track_parse.cpp",
72    "appsrc_engine/appsrc_memory.cpp",
73    "appsrc_engine/gst_appsrc_engine.cpp",
74    "message/gst_msg_converter.cpp",
75    "message/gst_msg_processor.cpp",
76    "metadata/gst_meta_parser.cpp",
77    "playbin_adapter/playbin2_ctrler.cpp",
78    "playbin_adapter/playbin_ctrler_base.cpp",
79    "playbin_adapter/playbin_state.cpp",
80    "state_machine/state_machine.cpp",
81  ]
82
83  configs = [
84    ":media_engine_gst_common_config",
85    "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx_public_config",
86  ]
87
88  deps = [
89    ":media_gst_dfx",
90    "../plugins/common:gst_media_common",
91    "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx",
92    "//foundation/multimedia/player_framework/services/utils:media_format",
93    "//foundation/multimedia/player_framework/services/utils:media_service_utils",
94    "//third_party/glib:glib",
95    "//third_party/glib:gobject",
96    "//third_party/gstreamer/gstplugins_base:gstapp_plugin",
97    "//third_party/gstreamer/gstplugins_base:gsttag",
98    "//third_party/gstreamer/gstreamer:gstreamer",
99  ]
100
101  external_deps = [
102    "c_utils:utils",
103    "graphic_2d:surface",
104    "hilog:libhilog",
105    "init:libbegetutil",
106  ]
107
108  subsystem_name = "multimedia"
109  part_name = "player_framework"
110}
111
112config("media_gst_dfx_config") {
113  visibility = [ ":*" ]
114
115  cflags = [
116    "-std=c++17",
117    "-fno-rtti",
118    "-fno-exceptions",
119    "-Wall",
120    "-fno-common",
121    "-fstack-protector-strong",
122    "-FPIC",
123    "-FS",
124    "-O2",
125    "-D_FORTIFY_SOURCE=2",
126    "-fvisibility=hidden",
127    "-Wformat=2",
128    "-Wfloat-equal",
129    "-Wdate-time",
130    "-DOHOS_EXT_FUNC",
131    "-Werror",
132    "-Wextra",
133    "-Wimplicit-fallthrough",
134    "-Wsign-compare",
135    "-Wunused-parameter",
136  ]
137
138  include_dirs = [
139    "//commonlibrary/c_utils/base/include",
140    "//third_party/glib/glib",
141    "//third_party/glib",
142    "//third_party/gstreamer/gstreamer",
143    "//third_party/gstreamer/gstreamer/libs",
144    "//third_party/gstreamer/gstplugins_base",
145    "//third_party/gstreamer/gstplugins_base/gst-libs",
146    "//third_party/gstreamer/gstplugins_bad/gst-libs",
147    "//foundation/multimedia/player_framework/services/engine/gstreamer/common/utils",
148    "//foundation/multimedia/player_framework/services/utils/include",
149    "//foundation/multimedia/player_framework/interfaces/inner_api/native",
150  ]
151}
152
153ohos_static_library("media_gst_dfx") {
154  sources = [
155    "utils/dumper.cpp",
156    "utils/gst_utils.cpp",
157  ]
158
159  configs = [
160    ":media_gst_dfx_config",
161    "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx_public_config",
162  ]
163
164  deps = [
165    "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx",
166    "//foundation/multimedia/player_framework/services/utils:media_format",
167    "//third_party/glib:glib",
168    "//third_party/glib:gobject",
169    "//third_party/gstreamer/gstreamer:gstreamer",
170  ]
171
172  external_deps = [
173    "c_utils:utils",
174    "hilog:libhilog",
175    "init:libbegetutil",
176  ]
177
178  subsystem_name = "multimedia"
179  part_name = "player_framework"
180}
181