• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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