1fa7767c5Sopenharmony_ci# Copyright (c) 2021-2021 Huawei Device Co., Ltd. 2fa7767c5Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3fa7767c5Sopenharmony_ci# you may not use this file except in compliance with the License. 4fa7767c5Sopenharmony_ci# You may obtain a copy of the License at 5fa7767c5Sopenharmony_ci# 6fa7767c5Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7fa7767c5Sopenharmony_ci# 8fa7767c5Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9fa7767c5Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10fa7767c5Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11fa7767c5Sopenharmony_ci# See the License for the specific language governing permissions and 12fa7767c5Sopenharmony_ci# limitations under the License. 13fa7767c5Sopenharmony_ci# 14fa7767c5Sopenharmony_ciimport("//foundation/multimedia/media_foundation/config.gni") 15fa7767c5Sopenharmony_ciconfig("histreamer_presets") { 16fa7767c5Sopenharmony_ci include_dirs = [ 17fa7767c5Sopenharmony_ci "//foundation/multimedia/media_foundation/engine", 18fa7767c5Sopenharmony_ci "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace_meter", 19fa7767c5Sopenharmony_ci ] 20fa7767c5Sopenharmony_ci defines = [ 21fa7767c5Sopenharmony_ci "HST_ANY_WITH_NO_RTTI", 22fa7767c5Sopenharmony_ci "MEDIA_OHOS", 23fa7767c5Sopenharmony_ci ] 24fa7767c5Sopenharmony_ci cflags = [ 25fa7767c5Sopenharmony_ci "-O2", 26fa7767c5Sopenharmony_ci "-fPIC", 27fa7767c5Sopenharmony_ci "-Wall", 28fa7767c5Sopenharmony_ci "-fexceptions", 29fa7767c5Sopenharmony_ci "-fno-rtti", 30fa7767c5Sopenharmony_ci "-Wno-unused-but-set-variable", 31fa7767c5Sopenharmony_ci "-Wno-format", 32fa7767c5Sopenharmony_ci ] 33fa7767c5Sopenharmony_ci cflags_cc = cflags 34fa7767c5Sopenharmony_ci if (media_foundation_enable_recorder) { 35fa7767c5Sopenharmony_ci defines += [ "RECORDER_SUPPORT" ] 36fa7767c5Sopenharmony_ci } 37fa7767c5Sopenharmony_ci if (media_foundation_enable_video) { 38fa7767c5Sopenharmony_ci defines += [ "VIDEO_SUPPORT" ] 39fa7767c5Sopenharmony_ci } 40fa7767c5Sopenharmony_ci if (media_foundation_enable_avs3da) { 41fa7767c5Sopenharmony_ci defines += [ "AVS3DA_SUPPORT" ] 42fa7767c5Sopenharmony_ci } 43fa7767c5Sopenharmony_ci if (hst_is_lite_sys) { 44fa7767c5Sopenharmony_ci defines += [ "OHOS_LITE" ] 45fa7767c5Sopenharmony_ci } 46fa7767c5Sopenharmony_ci} 47fa7767c5Sopenharmony_ci 48fa7767c5Sopenharmony_ciif (!hst_is_mini_sys) { 49fa7767c5Sopenharmony_ci # L1 & std shared and seprated 50fa7767c5Sopenharmony_ci 51fa7767c5Sopenharmony_ci # media_engine_histreamer lib for L1 & std 52fa7767c5Sopenharmony_ci if (hst_is_lite_sys) { 53fa7767c5Sopenharmony_ci group("histreamer") { 54fa7767c5Sopenharmony_ci deps = [ 55fa7767c5Sopenharmony_ci ":media_engine_histreamer", 56fa7767c5Sopenharmony_ci "engine/plugin/plugins:histreamer_plugin_store", 57fa7767c5Sopenharmony_ci ] 58fa7767c5Sopenharmony_ci } 59fa7767c5Sopenharmony_ci import("//build/lite/config/component/lite_component.gni") 60fa7767c5Sopenharmony_ci lite_library("media_engine_histreamer") { 61fa7767c5Sopenharmony_ci target_type = "shared_library" 62fa7767c5Sopenharmony_ci include_dirs = [ "//foundation/multimedia/media_foundation/interface" ] 63fa7767c5Sopenharmony_ci sources = [] 64fa7767c5Sopenharmony_ci deps = [ "engine/scene/player:histreamer_player" ] 65fa7767c5Sopenharmony_ci if (media_foundation_enable_recorder) { 66fa7767c5Sopenharmony_ci deps += [ "engine/scene/recorder:histreamer_recorder" ] 67fa7767c5Sopenharmony_ci } 68fa7767c5Sopenharmony_ci public_deps = [ "//foundation/multimedia/media_utils_lite:media_common" ] 69fa7767c5Sopenharmony_ci output_name = "media_foundation" 70fa7767c5Sopenharmony_ci } 71fa7767c5Sopenharmony_ci group("media_foundation") { 72fa7767c5Sopenharmony_ci } 73fa7767c5Sopenharmony_ci } else { 74fa7767c5Sopenharmony_ci group("histreamer") { 75fa7767c5Sopenharmony_ci deps = [ "engine/plugin/plugins:histreamer_plugin_store" ] 76fa7767c5Sopenharmony_ci } 77fa7767c5Sopenharmony_ci group("media_foundation") { 78fa7767c5Sopenharmony_ci deps = [ 79fa7767c5Sopenharmony_ci "src:media_foundation", 80fa7767c5Sopenharmony_ci "src/capi:capi_packages", 81fa7767c5Sopenharmony_ci ] 82fa7767c5Sopenharmony_ci } 83fa7767c5Sopenharmony_ci } 84fa7767c5Sopenharmony_ci} else { 85fa7767c5Sopenharmony_ci # L0 compile as a whole static lib 86fa7767c5Sopenharmony_ci import("//build/lite/config/component/lite_component.gni") 87fa7767c5Sopenharmony_ci lite_library("histreamer") { 88fa7767c5Sopenharmony_ci target_type = "static_library" 89fa7767c5Sopenharmony_ci complete_static_lib = true 90fa7767c5Sopenharmony_ci sources = [] 91fa7767c5Sopenharmony_ci include_dirs = [ "//foundation/multimedia/media_foundation/interface" ] 92fa7767c5Sopenharmony_ci deps = [ 93fa7767c5Sopenharmony_ci "engine/plugin/plugins:histreamer_plugin_store", 94fa7767c5Sopenharmony_ci "engine/scene/player:histreamer_player", 95fa7767c5Sopenharmony_ci ] 96fa7767c5Sopenharmony_ci if (media_foundation_enable_recorder) { 97fa7767c5Sopenharmony_ci deps += [ "engine/scene/recorder:histreamer_recorder" ] 98fa7767c5Sopenharmony_ci } 99fa7767c5Sopenharmony_ci public_deps = [ "//foundation/multimedia/media_utils_lite:media_common" ] 100fa7767c5Sopenharmony_ci } 101fa7767c5Sopenharmony_ci} 102