# 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/media_foundation/config.gni")
print("histreamer plugin: ffmpeg_adapter =",
media_foundation_enable_plugin_ffmpeg_adapter)
print("histreamer plugin: wav_demuxer =",
media_foundation_enable_plugin_wav_demuxer)
print("histreamer plugin: hdi_adapter =",
media_foundation_enable_plugin_hdi_adapter)
print("histreamer plugin: file_source =",
media_foundation_enable_plugin_file_source)
print("histreamer plugin: file_fd_source =",
media_foundation_enable_plugin_file_fd_source)
print("histreamer plugin: std_stream_source =",
media_foundation_enable_plugin_std_stream_source)
print("histreamer plugin: http_source =",
media_foundation_enable_plugin_http_source)
print("histreamer plugin: stream_source =",
media_foundation_enable_plugin_stream_source)
print("histreamer plugin: audio_server_sink =",
media_foundation_enable_plugin_audio_server_sink)
print("histreamer plugin: lite_aac_decoder =",
media_foundation_enable_plugin_lite_aac_decoder)
print("histreamer plugin: std_video_surface_sink =",
media_foundation_enable_plugin_std_video_surface_sink)
print("histreamer plugin: std_video_capture =",
media_foundation_enable_plugin_std_video_capture)
print("histreamer plugin: file_fd_sink =",
media_foundation_enable_plugin_file_fd_sink)
print("histreamer plugin: codec_adapter =",
media_foundation_enable_plugin_codec_adapter)
group("histreamer_plugin_store") {
deps = []
if (media_foundation_enable_plugin_ffmpeg_adapter) {
deps += [ "ffmpeg_adapter:plugin_ffmpeg_adapter" ]
}
if (media_foundation_enable_plugin_minimp3_adapter) {
deps += [ "minimp3_adapter:plugin_minimp3_adapter" ]
}
if (media_foundation_enable_plugin_minimp4_demuxer) {
deps += [ "demuxer/minimp4_demuxer:plugin_minimp4_demuxer" ]
}
if (media_foundation_enable_plugin_aac_demuxer) {
deps += [ "demuxer/aac_demuxer:plugin_aac_demuxer" ]
}
if (media_foundation_enable_plugin_lite_aac_decoder) {
deps += [ "lite_aac_decoder:plugin_lite_aac_decoder_adapter" ]
}
if (media_foundation_enable_plugin_file_source) {
deps += [ "source/file_source:plugin_file_source" ]
}
if (media_foundation_enable_plugin_file_fd_source) {
deps += [ "source/file_source:plugin_file_fd_source" ]
}
if (media_foundation_enable_plugin_std_stream_source) {
deps += [ "source/std_stream_source:plugin_std_stream_source" ]
}
if (media_foundation_enable_plugin_http_source) {
deps += [ "source/http_source:plugin_http_source" ]
}
if (media_foundation_enable_plugin_hdi_adapter) {
deps += [ "hdi_adapter:plugin_hdi_adapter" ]
}
if (media_foundation_enable_plugin_stream_source) {
deps += [ "source/stream_source:plugin_stream_source" ]
}
if (media_foundation_enable_plugin_http_lite_source) {
deps += [ "source/http_lite_source:plugin_http_lite_source" ]
}
if (media_foundation_enable_plugin_std_audio_capture) {
deps += [ "source/audio_capture:plugin_standard_audio_capture" ]
}
if (media_foundation_enable_plugin_audio_server_sink) {
deps += [ "sink/audio_server_sink:plugin_audio_server_sink" ]
}
if (media_foundation_enable_plugin_file_fd_sink) {
deps += [ "sink/file_sink:plugin_file_fd_sink" ]
}
if (media_foundation_enable_plugin_std_video_surface_sink) {
deps += [ "sink/video_surface_sink:plugin_standard_video_surface_sink" ]
}
if (media_foundation_enable_plugin_std_video_capture) {
deps += [ "source/video_capture:plugin_standard_video_capture" ]
}
if (media_foundation_enable_plugin_wav_demuxer) {
deps += [ "demuxer/wav_demuxer:plugin_wav_demuxer" ]
}
if (media_foundation_enable_plugin_codec_adapter) {
deps += [ "codec_adapter:plugin_codec_adapter" ]
}
}
config("gen_plugin_static_header_config") {
include_dirs = [ "${target_gen_dir}/include/" ]
}
action("gen_plugin_static_header") {
script = "//foundation/multimedia/media_foundation/engine/plugin/plugins/plugin_config.py"
args = [
rebase_path(
"//foundation/multimedia/media_foundation/engine/plugin/plugins",
root_build_dir),
rebase_path("${target_gen_dir}/include/", root_build_dir),
]
if (hst_is_mini_sys) {
if (media_foundation_enable_plugin_ffmpeg_adapter) {
args += [
"FFmpegDemuxer",
"FFmpegAudioDecoders",
]
}
if (media_foundation_enable_plugin_wav_demuxer) {
args += [ "WavDemuxer" ]
}
if (media_foundation_enable_plugin_minimp3_adapter) {
args += [
"Minimp3Demuxer",
"Minimp3Decoder",
]
}
if (media_foundation_enable_plugin_minimp4_demuxer) {
args += [ "MiniMP4Demuxer" ]
}
if (media_foundation_enable_plugin_lite_aac_decoder) {
args += [ "LiteAACDecoder" ]
}
if (media_foundation_enable_plugin_aac_demuxer) {
args += [ "AACDemuxer" ]
}
if (media_foundation_enable_plugin_file_source) {
args += [ "FileSource" ]
}
if (media_foundation_enable_plugin_file_fd_source) {
args += [ "FileFdSource" ]
}
if (media_foundation_enable_plugin_http_source) {
args += [ "HttpSource" ]
}
if (media_foundation_enable_plugin_hdi_adapter) {
args += [ "HdiAuSink" ]
}
if (media_foundation_enable_plugin_stream_source) {
args += [ "StreamSource" ]
}
if (media_foundation_enable_plugin_http_lite_source) {
args += [ "HttpLiteSource" ]
}
if (media_foundation_enable_plugin_file_fd_sink) {
args += [ "FileFdSink" ]
}
}
outputs = [ "${target_gen_dir}/include/all_plugin_static.h" ]
public_configs = [ ":gen_plugin_static_header_config" ]
}