1# Copyright (C) 2021 Huawei Device Co., Ltd. All rights reserved. 2# Use of this source code is governed by a LGPL license that can be 3# found in the COPYING.LIB file. 4 5import("//build/ohos.gni") 6 7group("gst_libav_packages") { 8 deps = [ 9 ":gstlibav", 10 ] 11} 12 13config("gstlibav_config") { 14 visibility = [ ":*" ] 15 16 include_dirs = [ 17 "./", 18 "./ext/libav/", 19 "//third_party/gstreamer/gstreamer", 20 "//third_party/gstreamer/gstreamer/libs", 21 "//third_party/gstreamer/gstplugins_base", 22 "//third_party/gstreamer/gstplugins_base/gst-libs", 23 "//third_party/ffmpeg", 24 "//third_party/glib", 25 "//third_party/glib/glib", 26 "//third_party/glib/gmodule", 27 ] 28 29 cflags = [ 30 "-Wall", 31 "-Werror", 32 "-DHAVE_CONFIG_H", 33 "-DHAVE_UNISTD_H", 34 "-fno-strict-aliasing", 35 "-Wno-sign-compare", 36 "-Wno-builtin-requires-header", 37 "-Wno-macro-redefined", 38 "-Wno-implicit-function-declaration", 39 "-Wno-unused-function", 40 "-DOHOS_OPT_COMPAT", 41 "-DOHOS_OPT_MEMLEAK", 42 ] 43} 44 45ohos_source_set("gstlibav_source") { 46 sources = [ 47 "ext/libav/gstav.c", 48 "ext/libav/gstavauddec.c", 49 "ext/libav/gstavaudenc.c", 50 "ext/libav/gstavcfg.c", 51 "ext/libav/gstavcodecmap.c", 52 "ext/libav/gstavdeinterlace.c", 53 "ext/libav/gstavdemux.c", 54 "ext/libav/gstavmux.c", 55 "ext/libav/gstavprotocol.c", 56 "ext/libav/gstavutils.c", 57 "ext/libav/gstavviddec.c", 58 "ext/libav/gstavvidenc.c", 59 ] 60 61 configs = [ 62 ":gstlibav_config", 63 ] 64} 65 66ohos_shared_library("gstlibav") { 67 deps = [ 68 ":gstlibav_source", 69 "//third_party/gstreamer/gstreamer:gstreamer", 70 "//third_party/gstreamer/gstreamer:gstbase", 71 "//third_party/gstreamer/gstplugins_base:gstaudio", 72 "//third_party/gstreamer/gstplugins_base:gstvideo", 73 "//third_party/gstreamer/gstplugins_base:gstpbutils", 74 "//third_party/gstreamer/gstplugins_base:gsttag", 75 "//third_party/glib:glib", 76 "//third_party/glib:gobject", 77 "//third_party/glib:gmodule", 78 "//third_party/ffmpeg:libohosffmpeg", 79 ] 80 81 relative_install_dir = "media/plugins" 82 part_name = "multimedia_histreamer" 83 subsystem_name = "multimedia" 84} 85 86