1# Copyright (C) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15 16config("media_engine_gst_common_config") { 17 visibility = [ ":*" ] 18 19 cflags = [ 20 "-std=c++17", 21 "-fno-rtti", 22 "-fno-exceptions", 23 "-Wall", 24 "-fno-common", 25 "-fstack-protector-strong", 26 "-FPIC", 27 "-FS", 28 "-O2", 29 "-D_FORTIFY_SOURCE=2", 30 "-fvisibility=hidden", 31 "-Wformat=2", 32 "-Wfloat-equal", 33 "-Wdate-time", 34 "-Wno-deprecated-declarations", 35 "-DOHOS_EXT_FUNC", 36 "-DOHOS_OPT_COMPAT", 37 "-Werror", 38 "-Wextra", 39 "-Wimplicit-fallthrough", 40 "-Wsign-compare", 41 "-Wunused-parameter", 42 ] 43 44 include_dirs = [ 45 "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", 46 "//commonlibrary/c_utils/base/include", 47 "//third_party/glib/glib", 48 "//third_party/glib", 49 "//third_party/gstreamer/gstreamer", 50 "//third_party/gstreamer/gstreamer/libs", 51 "//third_party/gstreamer/gstplugins_base", 52 "//third_party/gstreamer/gstplugins_base/gst-libs", 53 "//third_party/gstreamer/gstplugins_bad/gst-libs", 54 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/loader", 55 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/message", 56 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/metadata", 57 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/playbin_adapter", 58 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/state_machine", 59 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/utils", 60 "../player", 61 "./appsrc_engine", 62 "../plugins/common", 63 "//foundation/multimedia/player_framework/services/utils/include", 64 "//foundation/multimedia/player_framework/interfaces/inner_api/native", 65 "//foundation/multimedia/player_framework/services/services/engine_intf", 66 ] 67} 68 69ohos_static_library("media_engine_gst_common") { 70 sources = [ 71 "../player/player_track_parse.cpp", 72 "appsrc_engine/appsrc_memory.cpp", 73 "appsrc_engine/gst_appsrc_engine.cpp", 74 "message/gst_msg_converter.cpp", 75 "message/gst_msg_processor.cpp", 76 "metadata/gst_meta_parser.cpp", 77 "playbin_adapter/playbin2_ctrler.cpp", 78 "playbin_adapter/playbin_ctrler_base.cpp", 79 "playbin_adapter/playbin_state.cpp", 80 "state_machine/state_machine.cpp", 81 ] 82 83 configs = [ 84 ":media_engine_gst_common_config", 85 "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx_public_config", 86 ] 87 88 deps = [ 89 ":media_gst_dfx", 90 "../plugins/common:gst_media_common", 91 "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx", 92 "//foundation/multimedia/player_framework/services/utils:media_format", 93 "//foundation/multimedia/player_framework/services/utils:media_service_utils", 94 "//third_party/glib:glib", 95 "//third_party/glib:gobject", 96 "//third_party/gstreamer/gstplugins_base:gstapp_plugin", 97 "//third_party/gstreamer/gstplugins_base:gsttag", 98 "//third_party/gstreamer/gstreamer:gstreamer", 99 ] 100 101 external_deps = [ 102 "c_utils:utils", 103 "graphic_2d:surface", 104 "hilog:libhilog", 105 "init:libbegetutil", 106 ] 107 108 subsystem_name = "multimedia" 109 part_name = "player_framework" 110} 111 112config("media_gst_dfx_config") { 113 visibility = [ ":*" ] 114 115 cflags = [ 116 "-std=c++17", 117 "-fno-rtti", 118 "-fno-exceptions", 119 "-Wall", 120 "-fno-common", 121 "-fstack-protector-strong", 122 "-FPIC", 123 "-FS", 124 "-O2", 125 "-D_FORTIFY_SOURCE=2", 126 "-fvisibility=hidden", 127 "-Wformat=2", 128 "-Wfloat-equal", 129 "-Wdate-time", 130 "-DOHOS_EXT_FUNC", 131 "-Werror", 132 "-Wextra", 133 "-Wimplicit-fallthrough", 134 "-Wsign-compare", 135 "-Wunused-parameter", 136 ] 137 138 include_dirs = [ 139 "//commonlibrary/c_utils/base/include", 140 "//third_party/glib/glib", 141 "//third_party/glib", 142 "//third_party/gstreamer/gstreamer", 143 "//third_party/gstreamer/gstreamer/libs", 144 "//third_party/gstreamer/gstplugins_base", 145 "//third_party/gstreamer/gstplugins_base/gst-libs", 146 "//third_party/gstreamer/gstplugins_bad/gst-libs", 147 "//foundation/multimedia/player_framework/services/engine/gstreamer/common/utils", 148 "//foundation/multimedia/player_framework/services/utils/include", 149 "//foundation/multimedia/player_framework/interfaces/inner_api/native", 150 ] 151} 152 153ohos_static_library("media_gst_dfx") { 154 sources = [ 155 "utils/dumper.cpp", 156 "utils/gst_utils.cpp", 157 ] 158 159 configs = [ 160 ":media_gst_dfx_config", 161 "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx_public_config", 162 ] 163 164 deps = [ 165 "//foundation/multimedia/player_framework/services/dfx:media_service_log_dfx", 166 "//foundation/multimedia/player_framework/services/utils:media_format", 167 "//third_party/glib:glib", 168 "//third_party/glib:gobject", 169 "//third_party/gstreamer/gstreamer:gstreamer", 170 ] 171 172 external_deps = [ 173 "c_utils:utils", 174 "hilog:libhilog", 175 "init:libbegetutil", 176 ] 177 178 subsystem_name = "multimedia" 179 part_name = "player_framework" 180} 181