# 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("//build/ohos.gni") declare_args() { histreamer_root_dir = "//foundation/multimedia/media_foundation" multimedia_root_dir = "//foundation/multimedia" hiviewdfx_root_dir = "//base/hiviewdfx" # build histreamer plugin feature ability # only for small and std (mini device does not support dynamic libraries) media_foundation_enable_plugin_ffmpeg_adapter = false # hdi codec adapter, only for std device (Omx has not been implemented) media_foundation_enable_plugin_codec_adapter = false # only tested on std device media_foundation_enable_plugin_http_source = false # depends on lite audio hdi interface (small device) media_foundation_enable_plugin_hdi_adapter = false # depends on lite media api media_foundation_enable_plugin_stream_source = false # only support mini device bes2600 tech (L0) media_foundation_enable_plugin_lite_aac_decoder = false media_foundation_enable_plugin_http_lite_source = false # no external dependence media_foundation_enable_plugin_file_source = false media_foundation_enable_plugin_file_fd_source = false media_foundation_enable_plugin_file_fd_sink = false media_foundation_enable_plugin_aac_demuxer = false media_foundation_enable_plugin_wav_demuxer = false # no release (https://gitee.com/histreamer/minimp3) media_foundation_enable_plugin_minimp3_adapter = false media_foundation_enable_plugin_minimp4_demuxer = false # depends on std media api media_foundation_enable_plugin_std_stream_source = false # depends on std audio service media_foundation_enable_plugin_std_audio_capture = false media_foundation_enable_plugin_audio_server_sink = false # depends on std surface media_foundation_enable_plugin_std_video_surface_sink = false media_foundation_enable_plugin_std_video_capture = false media_foundation_enable_plugin_avs3_audio_decoder = false media_foundation_enable_recorder = false media_foundation_enable_video = false media_foundation_enable_avs3da = false # enable ffrt task instead of pthread task media_foundation_enable_ffrt = false # configuration for histreamer created thread's stack size. # 0 means using system default thread stack size, other positive values will be accepted. config_ohos_histreamer_stack_size = 0 hst_is_lite_sys = false hst_is_standard_sys = false hst_is_small_sys = false hst_is_mini_sys = false } if (!defined(ohos_lite) || !ohos_lite) { hst_is_lite_sys = false hst_is_standard_sys = true } else { hst_is_lite_sys = true if (ohos_kernel_type == "liteos_m") { hst_is_mini_sys = true } else { hst_is_small_sys = true } } if (hst_is_standard_sys) { media_foundation_enable_plugin_file_source = false media_foundation_enable_plugin_file_fd_source = false media_foundation_enable_plugin_ffmpeg_adapter = true media_foundation_enable_plugin_http_source = false media_foundation_enable_plugin_audio_server_sink = false media_foundation_enable_recorder = true media_foundation_enable_plugin_file_fd_sink = false media_foundation_enable_plugin_std_audio_capture = false media_foundation_enable_plugin_std_stream_source = false media_foundation_enable_video = true media_foundation_enable_plugin_std_video_surface_sink = false media_foundation_enable_plugin_codec_adapter = true } if (hst_is_small_sys) { media_foundation_enable_plugin_file_source = true media_foundation_enable_plugin_file_fd_source = true media_foundation_enable_plugin_ffmpeg_adapter = true media_foundation_enable_plugin_http_source = true media_foundation_enable_plugin_hdi_adapter = true } if (hst_is_mini_sys) { media_foundation_enable_plugin_file_source = true media_foundation_enable_plugin_file_fd_source = true media_foundation_enable_plugin_ffmpeg_adapter = true media_foundation_enable_plugin_http_source = true media_foundation_enable_plugin_hdi_adapter = true } if (defined(global_parts_info) && defined(global_parts_info.hiviewdfx_hisysevent)) { has_hisysevent_part = true } else { has_hisysevent_part = false } if (defined(global_parts_info) && defined(global_parts_info.third_party_skia)) { has_skia = true } else { has_skia = false }