1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 2 3import("//build/ohos.gni") 4 5group("gstplugins_good_packages") { 6 deps = [ 7 ":gstaudiofx", 8 ":gstaudioparsers", 9 ":gstautodetect", 10 ":gstisomp4", 11 ":gstmatroska", 12 ":gstmultifile", 13 ":gstsoup", 14 ":gstwavparse", 15 ] 16} 17 18config("gst_plugins_config") { 19 visibility = [ ":*" ] 20 21 include_dirs = [ 22 ".", 23 "./gst-libs", 24 "./gst/isomp4", 25 "./gst/audiofx", 26 "//third_party/gstreamer/gstreamer", 27 "//third_party/gstreamer/gstreamer/libs", 28 "//third_party/gstreamer/gstplugins_base", 29 "//third_party/gstreamer/gstplugins_base/gst-libs", 30 "//third_party/glib/glib", 31 "//third_party/glib", 32 "//third_party/glib/gmodule", 33 "//third_party/zlib", 34 "//third_party/libsoup", 35 "//third_party/gettext/gettext-runtime/intl", 36 "//third_party/bzip2", 37 ] 38 39 cflags = [ 40 "-Wall", 41 "-Werror", 42 43 #"-DBUILDING_GST", 44 "-DGST_DISABLE_DEPRECATED", 45 "-DHAVE_CONFIG_H", 46 "-DCOLORSPACE=\"videoconvert\"", 47 "-fno-strict-aliasing", 48 "-Wno-sign-compare", 49 "-Wno-builtin-requires-header", 50 "-Wno-deprecated-declarations", 51 "-DOHOS_SUPPORT", 52 "-DOHOS_OPT_COMPAT", 53 "-DOHOS_OPT_CVE", 54 "-DOHOS_EXT_FUNC", 55 "-DOHOS_OPT_PERFORMANCE", 56 ] 57} 58 59ohos_source_set("audioparsers_source") { 60 sources = [ 61 "gst/audioparsers/gstaacparse.c", 62 "gst/audioparsers/gstac3parse.c", 63 "gst/audioparsers/gstamrparse.c", 64 "gst/audioparsers/gstdcaparse.c", 65 "gst/audioparsers/gstflacparse.c", 66 "gst/audioparsers/gstmpegaudioparse.c", 67 "gst/audioparsers/gstsbcparse.c", 68 "gst/audioparsers/gstwavpackparse.c", 69 "gst/audioparsers/plugin.c", 70 ] 71 72 configs = [ ":gst_plugins_config" ] 73} 74 75ohos_shared_library("gstaudioparsers") { 76 deps = [ 77 ":audioparsers_source", 78 "//third_party/glib:glib", 79 "//third_party/glib:gmodule", 80 "//third_party/glib:gobject", 81 "//third_party/gstreamer/gstplugins_base:gstaudio", 82 "//third_party/gstreamer/gstplugins_base:gstpbutils", 83 "//third_party/gstreamer/gstplugins_base:gsttag", 84 "//third_party/gstreamer/gstreamer:gstbase", 85 "//third_party/gstreamer/gstreamer:gstreamer", 86 ] 87 88 relative_install_dir = "media/plugins" 89 part_name = "multimedia_media_standard" 90 subsystem_name = "multimedia" 91} 92 93ohos_source_set("autodetect_source") { 94 sources = [ 95 "gst/audioparsers/gstaacparse.c", 96 "gst/autodetect/gstautoaudiosink.c", 97 "gst/autodetect/gstautoaudiosrc.c", 98 "gst/autodetect/gstautodetect.c", 99 "gst/autodetect/gstautovideosink.c", 100 "gst/autodetect/gstautovideosrc.c", 101 ] 102 103 configs = [ ":gst_plugins_config" ] 104} 105 106ohos_shared_library("gstautodetect") { 107 deps = [ 108 ":autodetect_source", 109 "//third_party/glib:glib", 110 "//third_party/glib:gmodule", 111 "//third_party/glib:gobject", 112 "//third_party/gstreamer/gstplugins_base:gstaudio", 113 "//third_party/gstreamer/gstplugins_base:gstpbutils", 114 "//third_party/gstreamer/gstplugins_base:gsttag", 115 "//third_party/gstreamer/gstreamer:gstbase", 116 "//third_party/gstreamer/gstreamer:gstreamer", 117 ] 118 119 relative_install_dir = "media/plugins" 120 part_name = "multimedia_media_standard" 121 subsystem_name = "multimedia" 122} 123 124ohos_source_set("id3demux_source") { 125 sources = [ "gst/id3demux/gstid3demux.c" ] 126 127 configs = [ ":gst_plugins_config" ] 128} 129 130ohos_shared_library("gstid3demux") { 131 deps = [ 132 ":id3demux_source", 133 "//third_party/glib:glib", 134 "//third_party/glib:gmodule", 135 "//third_party/glib:gobject", 136 "//third_party/gstreamer/gstplugins_base:gstaudio", 137 "//third_party/gstreamer/gstplugins_base:gstpbutils", 138 "//third_party/gstreamer/gstplugins_base:gsttag", 139 "//third_party/gstreamer/gstreamer:gstbase", 140 "//third_party/gstreamer/gstreamer:gstreamer", 141 ] 142 143 relative_install_dir = "media/plugins" 144 part_name = "multimedia_media_standard" 145 subsystem_name = "multimedia" 146} 147 148ohos_source_set("isomp4_source") { 149 sources = [ 150 "gst/isomp4/atoms.c", 151 "gst/isomp4/atomsrecovery.c", 152 "gst/isomp4/descriptors.c", 153 "gst/isomp4/gstisoff.c", 154 "gst/isomp4/gstqtmoovrecover.c", 155 "gst/isomp4/gstqtmux-doc.c", 156 "gst/isomp4/gstqtmux.c", 157 "gst/isomp4/gstqtmuxmap.c", 158 "gst/isomp4/gstrtpxqtdepay.c", 159 "gst/isomp4/isomp4-plugin.c", 160 "gst/isomp4/properties.c", 161 "gst/isomp4/qtdemux.c", 162 "gst/isomp4/qtdemux_dump.c", 163 "gst/isomp4/qtdemux_lang.c", 164 "gst/isomp4/qtdemux_types.c", 165 ] 166 167 configs = [ ":gst_plugins_config" ] 168} 169 170ohos_shared_library("gstisomp4") { 171 deps = [ 172 ":isomp4_source", 173 "//third_party/glib:glib", 174 "//third_party/glib:gmodule", 175 "//third_party/glib:gobject", 176 "//third_party/gstreamer/gstplugins_base:gstaudio", 177 "//third_party/gstreamer/gstplugins_base:gstpbutils", 178 "//third_party/gstreamer/gstplugins_base:gstriff", 179 "//third_party/gstreamer/gstplugins_base:gstrtp", 180 "//third_party/gstreamer/gstplugins_base:gsttag", 181 "//third_party/gstreamer/gstplugins_base:gstvideo", 182 "//third_party/gstreamer/gstreamer:gstbase", 183 "//third_party/gstreamer/gstreamer:gstreamer", 184 "//third_party/zlib:libz", 185 ] 186 187 relative_install_dir = "media/plugins" 188 part_name = "multimedia_media_standard" 189 subsystem_name = "multimedia" 190} 191 192ohos_source_set("wavparse_source") { 193 sources = [ "gst/wavparse/gstwavparse.c" ] 194 195 configs = [ ":gst_plugins_config" ] 196} 197 198ohos_shared_library("gstwavparse") { 199 deps = [ 200 ":wavparse_source", 201 "//third_party/glib:glib", 202 "//third_party/glib:gmodule", 203 "//third_party/glib:gobject", 204 "//third_party/gstreamer/gstplugins_base:gstaudio", 205 "//third_party/gstreamer/gstplugins_base:gstpbutils", 206 "//third_party/gstreamer/gstplugins_base:gstriff", 207 "//third_party/gstreamer/gstreamer:gstbase", 208 "//third_party/gstreamer/gstreamer:gstreamer", 209 ] 210 211 relative_install_dir = "media/plugins" 212 part_name = "multimedia_media_standard" 213 subsystem_name = "multimedia" 214} 215 216ohos_source_set("multifile_source") { 217 sources = [ 218 "gst/multifile/gstmultifile.c", 219 "gst/multifile/gstmultifilesink.c", 220 "gst/multifile/gstmultifilesrc.c", 221 "gst/multifile/gstsplitmuxpartreader.c", 222 "gst/multifile/gstsplitmuxsink.c", 223 "gst/multifile/gstsplitmuxsrc.c", 224 "gst/multifile/gstsplitutils.c", 225 "gst/multifile/patternspec.c", 226 ] 227 228 configs = [ ":gst_plugins_config" ] 229} 230 231ohos_shared_library("gstmultifile") { 232 deps = [ 233 ":multifile_source", 234 "//third_party/glib:glib", 235 "//third_party/glib:gmodule", 236 "//third_party/glib:gobject", 237 "//third_party/gstreamer/gstplugins_base:gstaudio", 238 "//third_party/gstreamer/gstplugins_base:gstpbutils", 239 "//third_party/gstreamer/gstplugins_base:gstriff", 240 "//third_party/gstreamer/gstplugins_base:gstvideo", 241 "//third_party/gstreamer/gstreamer:gstbase", 242 "//third_party/gstreamer/gstreamer:gstreamer", 243 ] 244 245 relative_install_dir = "media/plugins" 246 part_name = "multimedia_media_standard" 247 subsystem_name = "multimedia" 248} 249 250ohos_source_set("audiofx_source") { 251 sources = [ 252 "gst/audiofx/audioamplify.c", 253 "gst/audiofx/audiochebband.c", 254 "gst/audiofx/audiocheblimit.c", 255 "gst/audiofx/audiodynamic.c", 256 "gst/audiofx/audioecho.c", 257 "gst/audiofx/audiofirfilter.c", 258 "gst/audiofx/audiofx.c", 259 "gst/audiofx/audiofxbasefirfilter.c", 260 "gst/audiofx/audiofxbaseiirfilter.c", 261 "gst/audiofx/audioiirfilter.c", 262 "gst/audiofx/audioinvert.c", 263 "gst/audiofx/audiokaraoke.c", 264 "gst/audiofx/audiopanorama.c", 265 "gst/audiofx/audiopanoramaorc.c", 266 "gst/audiofx/audiowsincband.c", 267 "gst/audiofx/audiowsinclimit.c", 268 "gst/audiofx/gstscaletempo.c", 269 "gst/audiofx/gststereo.c", 270 ] 271 272 configs = [ ":gst_plugins_config" ] 273} 274 275ohos_shared_library("gstaudiofx") { 276 deps = [ 277 ":audiofx_source", 278 "//third_party/glib:glib", 279 "//third_party/glib:gmodule", 280 "//third_party/glib:gobject", 281 "//third_party/gstreamer/gstplugins_base:gstaudio", 282 "//third_party/gstreamer/gstplugins_base:gstfft", 283 "//third_party/gstreamer/gstplugins_base:gstpbutils", 284 "//third_party/gstreamer/gstplugins_base:gsttag", 285 "//third_party/gstreamer/gstreamer:gstbase", 286 "//third_party/gstreamer/gstreamer:gstreamer", 287 ] 288 289 relative_install_dir = "media/plugins" 290 part_name = "multimedia_media_standard" 291 subsystem_name = "multimedia" 292} 293 294ohos_source_set("gstsoup_source") { 295 sources = [ 296 "ext/soup/gstsoup.c", 297 "ext/soup/gstsouphttpsrc.c", 298 "ext/soup/gstsouputils.c", 299 300 #"ext/soup/gstsouphttpclientsink.c", 301 ] 302 303 configs = [ ":gst_plugins_config" ] 304} 305 306ohos_shared_library("gstsoup") { 307 deps = [ 308 ":gstsoup_source", 309 "//third_party/glib:gio", 310 "//third_party/glib:glib", 311 "//third_party/glib:gmodule", 312 "//third_party/glib:gobject", 313 "//third_party/gstreamer/gstplugins_base:gsttag", 314 "//third_party/gstreamer/gstreamer:gstbase", 315 "//third_party/gstreamer/gstreamer:gstreamer", 316 "//third_party/libsoup:libohossoup", 317 ] 318 relative_install_dir = "media/plugins" 319 part_name = "multimedia_media_standard" 320 subsystem_name = "multimedia" 321} 322 323ohos_source_set("matroska_source") { 324 sources = [ 325 "gst/matroska/ebml-read.c", 326 "gst/matroska/ebml-write.c", 327 "gst/matroska/lzo.c", 328 "gst/matroska/matroska-demux.c", 329 "gst/matroska/matroska-ids.c", 330 "gst/matroska/matroska-mux.c", 331 "gst/matroska/matroska-parse.c", 332 "gst/matroska/matroska-read-common.c", 333 "gst/matroska/matroska.c", 334 "gst/matroska/webm-mux.c", 335 ] 336 337 configs = [ ":gst_plugins_config" ] 338} 339 340ohos_shared_library("gstmatroska") { 341 deps = [ 342 ":matroska_source", 343 "//third_party/bzip2:libbz2", 344 "//third_party/glib:glib", 345 "//third_party/glib:gmodule", 346 "//third_party/glib:gobject", 347 "//third_party/gstreamer/gstplugins_base:gstaudio", 348 "//third_party/gstreamer/gstplugins_base:gstfft", 349 "//third_party/gstreamer/gstplugins_base:gstpbutils", 350 "//third_party/gstreamer/gstplugins_base:gstriff", 351 "//third_party/gstreamer/gstplugins_base:gsttag", 352 "//third_party/gstreamer/gstplugins_base:gstvideo", 353 "//third_party/gstreamer/gstreamer:gstbase", 354 "//third_party/gstreamer/gstreamer:gstreamer", 355 ] 356 357 relative_install_dir = "media/plugins" 358 part_name = "multimedia_media_standard" 359 subsystem_name = "multimedia" 360} 361