• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.
2
3import("//build/ohos.gni")
4
5group("gstplugins_bad_packages") {
6  deps = [
7    ":gsthls",
8    ":gstmpegtsdemux",
9    ":gstplayer",
10    ":gstvideoparsersbad",
11  ]
12}
13
14config("gst_player_config") {
15  visibility = [ ":*" ]
16
17  include_dirs = [
18    ".",
19    "./gst-libs",
20    "//third_party/gstreamer/gstreamer",
21    "//third_party/gstreamer/gstreamer/libs",
22    "//third_party/gstreamer/gstplugins_base",
23    "//third_party/gstreamer/gstplugins_base/gst-libs",
24    "//third_party/glib/glib",
25    "//third_party/glib",
26    "//third_party/glib/gmodule",
27  ]
28
29  cflags = [
30    "-Wall",
31    "-Werror",
32    "-DGST_DISABLE_DEPRECATED",
33    "-DHAVE_CONFIG_H",
34    "-DCOLORSPACE=\"videoconvert\"",
35    "-fno-strict-aliasing",
36    "-Wno-sign-compare",
37    "-Wno-builtin-requires-header",
38    "-Wno-implicit-function-declaration",
39    "-DOHOS_EXT_FUNC",
40    "-DOHOS_OPT_STABLE",
41    "-DOHOS_OPT_COMPAT",
42    "-DOHOS_OPT_CVE",
43  ]
44}
45
46ohos_source_set("player_source") {
47  sources = [
48    "gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c",
49    "gst-libs/gst/player/gstplayer-media-info.c",
50    "gst-libs/gst/player/gstplayer-signal-dispatcher.c",
51    "gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c",
52    "gst-libs/gst/player/gstplayer-video-renderer.c",
53    "gst-libs/gst/player/gstplayer-visualization.c",
54    "gst-libs/gst/player/gstplayer.c",
55  ]
56
57  configs = [ ":gst_player_config" ]
58}
59
60ohos_shared_library("gstplayer") {
61  deps = [
62    ":player_source",
63    "//third_party/glib:glib",
64    "//third_party/glib:gmodule",
65    "//third_party/glib:gobject",
66    "//third_party/gstreamer/gstplugins_base:gstaudio",
67    "//third_party/gstreamer/gstplugins_base:gstpbutils",
68    "//third_party/gstreamer/gstplugins_base:gsttag",
69    "//third_party/gstreamer/gstplugins_base:gstvideo",
70    "//third_party/gstreamer/gstreamer:gstbase",
71    "//third_party/gstreamer/gstreamer:gstreamer",
72  ]
73  part_name = "multimedia_media_standard"
74  subsystem_name = "multimedia"
75}
76
77config("gst_plugins_config") {
78  visibility = [ ":*" ]
79
80  include_dirs = [
81    ".",
82    "./gst-libs",
83    "//third_party/gstreamer/gstreamer",
84    "//third_party/gstreamer/gstreamer/libs",
85    "//third_party/gstreamer/gstplugins_base",
86    "//third_party/gstreamer/gstplugins_base/gst-libs",
87    "//third_party/glib/glib",
88    "//third_party/glib",
89    "//third_party/glib/gmodule",
90  ]
91
92  cflags = [
93    "-Wall",
94    "-Werror",
95    "-DGST_DISABLE_DEPRECATED",
96    "-DHAVE_CONFIG_H",
97    "-DCOLORSPACE=\"videoconvert\"",
98    "-fno-strict-aliasing",
99    "-Wno-sign-compare",
100    "-Wno-builtin-requires-header",
101    "-Wno-implicit-function-declaration",
102    "-Wno-unused-function",
103    "-DOHOS_SUPPORT",
104    "-DOHOS_EXT_FUNC",
105    "-DOHOS_GLIB_COMPATIBLE",
106  ]
107}
108
109ohos_source_set("hls_source") {
110  sources = [
111    "ext/hls/gsthlsdemux-util.c",
112    "ext/hls/gsthlsdemux.c",
113    "ext/hls/gsthlsplugin.c",
114    "ext/hls/gsthlssink.c",
115    "ext/hls/gsthlssink2.c",
116    "ext/hls/gstm3u8playlist.c",
117    "ext/hls/m3u8.c",
118  ]
119
120  configs = [ ":gst_plugins_config" ]
121}
122
123ohos_shared_library("gsthls") {
124  deps = [
125    ":hls_source",
126    "//third_party/glib:glib",
127    "//third_party/glib:gmodule",
128    "//third_party/glib:gobject",
129    "//third_party/gstreamer/gstplugins_bad:gstadaptivedemux",
130    "//third_party/gstreamer/gstplugins_bad:gsturidownloader",
131    "//third_party/gstreamer/gstplugins_base:gstaudio",
132    "//third_party/gstreamer/gstplugins_base:gstpbutils",
133    "//third_party/gstreamer/gstplugins_base:gsttag",
134    "//third_party/gstreamer/gstplugins_base:gstvideo",
135    "//third_party/gstreamer/gstreamer:gstbase",
136    "//third_party/gstreamer/gstreamer:gstreamer",
137  ]
138
139  relative_install_dir = "media/plugins"
140  part_name = "multimedia_media_standard"
141  subsystem_name = "multimedia"
142}
143
144ohos_source_set("adaptivedemux_source") {
145  sources = [ "gst-libs/gst/adaptivedemux/gstadaptivedemux.c" ]
146
147  configs = [ ":gst_plugins_config" ]
148}
149
150ohos_shared_library("gstadaptivedemux") {
151  deps = [
152    ":adaptivedemux_source",
153    "//third_party/glib:glib",
154    "//third_party/glib:gmodule",
155    "//third_party/glib:gobject",
156    "//third_party/gstreamer/gstplugins_bad:gsturidownloader",
157    "//third_party/gstreamer/gstplugins_base:gstaudio",
158    "//third_party/gstreamer/gstplugins_base:gstpbutils",
159    "//third_party/gstreamer/gstplugins_base:gsttag",
160    "//third_party/gstreamer/gstplugins_base:gstvideo",
161    "//third_party/gstreamer/gstreamer:gstbase",
162    "//third_party/gstreamer/gstreamer:gstreamer",
163  ]
164
165  part_name = "multimedia_media_standard"
166  subsystem_name = "multimedia"
167}
168
169ohos_source_set("uridownloader_source") {
170  sources = [
171    "gst-libs/gst/uridownloader/gstfragment.c",
172    "gst-libs/gst/uridownloader/gsturidownloader.c",
173  ]
174
175  configs = [ ":gst_plugins_config" ]
176}
177
178ohos_shared_library("gsturidownloader") {
179  deps = [
180    ":uridownloader_source",
181    "//third_party/glib:glib",
182    "//third_party/glib:gmodule",
183    "//third_party/glib:gobject",
184    "//third_party/gstreamer/gstplugins_base:gstaudio",
185    "//third_party/gstreamer/gstplugins_base:gstpbutils",
186    "//third_party/gstreamer/gstplugins_base:gsttag",
187    "//third_party/gstreamer/gstplugins_base:gstvideo",
188    "//third_party/gstreamer/gstreamer:gstbase",
189    "//third_party/gstreamer/gstreamer:gstreamer",
190  ]
191
192  part_name = "multimedia_media_standard"
193  subsystem_name = "multimedia"
194}
195
196ohos_source_set("mpegtsdemux_source") {
197  sources = [
198    "gst/mpegtsdemux/gsttsdemux.c",
199    "gst/mpegtsdemux/mpegtsbase.c",
200    "gst/mpegtsdemux/mpegtspacketizer.c",
201    "gst/mpegtsdemux/mpegtsparse.c",
202    "gst/mpegtsdemux/pesparse.c",
203    "gst/mpegtsdemux/tsdemux.c",
204  ]
205
206  configs = [ ":gst_plugins_config" ]
207}
208
209ohos_shared_library("gstmpegtsdemux") {
210  deps = [
211    ":mpegtsdemux_source",
212    "//third_party/glib:glib",
213    "//third_party/glib:gmodule",
214    "//third_party/glib:gobject",
215    "//third_party/gstreamer/gstplugins_bad:gstcodecparsers",
216    "//third_party/gstreamer/gstplugins_bad:gstmpegts",
217    "//third_party/gstreamer/gstplugins_base:gstaudio",
218    "//third_party/gstreamer/gstplugins_base:gstpbutils",
219    "//third_party/gstreamer/gstplugins_base:gsttag",
220    "//third_party/gstreamer/gstplugins_base:gstvideo",
221    "//third_party/gstreamer/gstreamer:gstbase",
222    "//third_party/gstreamer/gstreamer:gstreamer",
223  ]
224
225  relative_install_dir = "media/plugins"
226  part_name = "multimedia_media_standard"
227  subsystem_name = "multimedia"
228}
229
230ohos_source_set("mpegts_source") {
231  sources = [
232    "gst-libs/gst/mpegts/gst-atsc-section.c",
233    "gst-libs/gst/mpegts/gst-dvb-descriptor.c",
234    "gst-libs/gst/mpegts/gst-dvb-section.c",
235    "gst-libs/gst/mpegts/gstmpegtsdescriptor.c",
236    "gst-libs/gst/mpegts/gstmpegtssection.c",
237  ]
238
239  configs = [ ":gst_plugins_config" ]
240}
241
242ohos_shared_library("gstmpegts") {
243  deps = [
244    ":mpegts_source",
245    "//third_party/glib:glib",
246    "//third_party/glib:gmodule",
247    "//third_party/glib:gobject",
248    "//third_party/gstreamer/gstplugins_base:gstaudio",
249    "//third_party/gstreamer/gstplugins_base:gstpbutils",
250    "//third_party/gstreamer/gstplugins_base:gsttag",
251    "//third_party/gstreamer/gstplugins_base:gstvideo",
252    "//third_party/gstreamer/gstreamer:gstbase",
253    "//third_party/gstreamer/gstreamer:gstreamer",
254  ]
255
256  part_name = "multimedia_media_standard"
257  subsystem_name = "multimedia"
258}
259
260ohos_source_set("codecparsers_source") {
261  sources = [
262    "gst-libs/gst/codecparsers/dboolhuff.c",
263    "gst-libs/gst/codecparsers/gsth264parser.c",
264    "gst-libs/gst/codecparsers/gsth265parser.c",
265    "gst-libs/gst/codecparsers/gstjpeg2000sampling.c",
266    "gst-libs/gst/codecparsers/gstjpegparser.c",
267    "gst-libs/gst/codecparsers/gstmpeg4parser.c",
268    "gst-libs/gst/codecparsers/gstmpegvideometa.c",
269    "gst-libs/gst/codecparsers/gstmpegvideoparser.c",
270    "gst-libs/gst/codecparsers/gstvc1parser.c",
271    "gst-libs/gst/codecparsers/gstvp8parser.c",
272    "gst-libs/gst/codecparsers/gstvp8rangedecoder.c",
273    "gst-libs/gst/codecparsers/gstvp9parser.c",
274    "gst-libs/gst/codecparsers/nalutils.c",
275    "gst-libs/gst/codecparsers/parserutils.c",
276    "gst-libs/gst/codecparsers/vp8utils.c",
277    "gst-libs/gst/codecparsers/vp9utils.c",
278  ]
279
280  configs = [ ":gst_plugins_config" ]
281}
282
283ohos_shared_library("gstcodecparsers") {
284  deps = [
285    ":codecparsers_source",
286    "//third_party/glib:glib",
287    "//third_party/glib:gmodule",
288    "//third_party/glib:gobject",
289    "//third_party/gstreamer/gstplugins_base:gstaudio",
290    "//third_party/gstreamer/gstplugins_base:gstpbutils",
291    "//third_party/gstreamer/gstplugins_base:gsttag",
292    "//third_party/gstreamer/gstplugins_base:gstvideo",
293    "//third_party/gstreamer/gstreamer:gstbase",
294    "//third_party/gstreamer/gstreamer:gstreamer",
295  ]
296
297  part_name = "multimedia_media_standard"
298  subsystem_name = "multimedia"
299}
300
301ohos_source_set("parse_source") {
302  visibility = [ ":*" ]
303
304  sources = [
305    "gst/videoparsers/gsth264parse.c",
306    "gst/videoparsers/plugin.c",
307  ]
308
309  include_dirs = [
310    ".",
311    "./gst-libs",
312    "//third_party/gstreamer/gstreamer",
313    "//third_party/gstreamer/gstreamer/libs",
314    "//third_party/gstreamer/gstplugins_base",
315    "//third_party/gstreamer/gstplugins_base/gst-libs",
316    "//third_party/glib/glib",
317    "//third_party/glib",
318    "//third_party/glib/gmodule",
319    "//third_party/gstreamer/gstplugins_bad/gst/videoparsers",
320    "//third_party/zlibs",
321    "//third_party/gstreamer/gstplugins_bad/gst-libs/codecparsers",
322  ]
323
324  cflags = [
325    "-Wall",
326    "-Werror",
327    "-DGST_DISABLE_DEPRECATED",
328    "-DHAVE_CONFIG_H",
329    "-DOHOS_EXT_FUNC",
330    "-DOHOS_GLIB_COMPATIBLE",
331  ]
332}
333
334ohos_shared_library("gstvideoparsersbad") {
335  deps = [
336    ":parse_source",
337    "//third_party/glib:glib",
338    "//third_party/glib:gmodule",
339    "//third_party/glib:gobject",
340    "//third_party/gstreamer/gstplugins_bad:gstcodecparsers",
341    "//third_party/gstreamer/gstplugins_base:gstaudio",
342    "//third_party/gstreamer/gstplugins_base:gstpbutils",
343    "//third_party/gstreamer/gstplugins_base:gsttag",
344    "//third_party/gstreamer/gstplugins_base:gstvideo",
345    "//third_party/gstreamer/gstreamer:gstbase",
346    "//third_party/gstreamer/gstreamer:gstreamer",
347  ]
348
349  relative_install_dir = "media/plugins"
350  part_name = "multimedia_media_standard"
351  subsystem_name = "multimedia"
352}
353