# Copyright (c) 2021-2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import("//foundation/multimedia/histreamer/config.gni") if (!hst_is_lite_sys) { ohos_kernel_type = "" } config("histreamer_presets") { include_dirs = [ "//foundation/multimedia/histreamer/engine", "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace_meter", ] defines = [ "MEDIA_OHOS" ] cflags = [ "-O2", "-fPIC", "-Wall", "-frtti", "-fexceptions", "-Wno-unused-but-set-variable", "-Wno-format", ] cflags_cc = cflags if (histreamer_enable_recorder) { defines += [ "RECORDER_SUPPORT" ] } if (histreamer_enable_video) { defines += [ "VIDEO_SUPPORT" ] } if (histreamer_enable_avs3da) { defines += [ "AVS3DA_SUPPORT" ] } if (hst_is_lite_sys) { defines += [ "OHOS_LITE" ] } } if (hst_is_lite_sys) { config("hiplayer_external_library_config") { include_dirs = [ "//foundation/multimedia/histreamer/interface" ] } } if (ohos_kernel_type != "liteos_m") { # L1 & std shared and seprated group("histreamer") { deps = [ ":media_engine_histreamer", "engine/plugin/plugins:histreamer_plugin_store", ] } # media_engine_histreamer lib for L1 & std if (hst_is_lite_sys) { import("//build/lite/config/component/lite_component.gni") lite_library("media_engine_histreamer") { target_type = "shared_library" sources = [] deps = [ "engine/scene/player:histreamer_player" ] if (histreamer_enable_recorder) { deps += [ "engine/scene/recorder:histreamer_recorder" ] } public_deps = [ "//foundation/multimedia/media_utils_lite:media_common" ] public_configs = [ ":hiplayer_external_library_config" ] output_name = "histreamer" } } else { import("//build/ohos.gni") ohos_shared_library("media_engine_histreamer") { sanitize = { cfi = true cfi_cross_dso = true debug = false integer_overflow = true } sources = [] deps = [ "engine/scene:std_engine_factory" ] external_deps = [ "hitrace:hitrace_meter" ] relative_install_dir = "media" subsystem_name = "multimedia" part_name = "histreamer" } } } else { # L0 compile as a whole static lib import("//build/lite/config/component/lite_component.gni") lite_library("histreamer") { target_type = "static_library" complete_static_lib = true sources = [] deps = [ "engine/plugin/plugins:histreamer_plugin_store", "engine/scene/player:histreamer_player", ] if (histreamer_enable_recorder) { deps += [ "engine/scene/recorder:histreamer_recorder" ] } public_deps = [ "//foundation/multimedia/media_utils_lite:media_common" ] public_configs = [ ":hiplayer_external_library_config" ] } }