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