1# Copyright (c) 2021-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# 14 15import("//foundation/multimedia/media_foundation/config.gni") 16 17print("histreamer plugin: ffmpeg_adapter =", 18 media_foundation_enable_plugin_ffmpeg_adapter) 19print("histreamer plugin: wav_demuxer =", 20 media_foundation_enable_plugin_wav_demuxer) 21print("histreamer plugin: hdi_adapter =", 22 media_foundation_enable_plugin_hdi_adapter) 23print("histreamer plugin: file_source =", 24 media_foundation_enable_plugin_file_source) 25print("histreamer plugin: file_fd_source =", 26 media_foundation_enable_plugin_file_fd_source) 27print("histreamer plugin: std_stream_source =", 28 media_foundation_enable_plugin_std_stream_source) 29print("histreamer plugin: http_source =", 30 media_foundation_enable_plugin_http_source) 31print("histreamer plugin: stream_source =", 32 media_foundation_enable_plugin_stream_source) 33print("histreamer plugin: audio_server_sink =", 34 media_foundation_enable_plugin_audio_server_sink) 35print("histreamer plugin: lite_aac_decoder =", 36 media_foundation_enable_plugin_lite_aac_decoder) 37print("histreamer plugin: std_video_surface_sink =", 38 media_foundation_enable_plugin_std_video_surface_sink) 39print("histreamer plugin: std_video_capture =", 40 media_foundation_enable_plugin_std_video_capture) 41print("histreamer plugin: file_fd_sink =", 42 media_foundation_enable_plugin_file_fd_sink) 43print("histreamer plugin: codec_adapter =", 44 media_foundation_enable_plugin_codec_adapter) 45 46group("histreamer_plugin_store") { 47 deps = [] 48 if (media_foundation_enable_plugin_ffmpeg_adapter) { 49 deps += [ "ffmpeg_adapter:plugin_ffmpeg_adapter" ] 50 } 51 52 if (media_foundation_enable_plugin_minimp3_adapter) { 53 deps += [ "minimp3_adapter:plugin_minimp3_adapter" ] 54 } 55 56 if (media_foundation_enable_plugin_minimp4_demuxer) { 57 deps += [ "demuxer/minimp4_demuxer:plugin_minimp4_demuxer" ] 58 } 59 60 if (media_foundation_enable_plugin_aac_demuxer) { 61 deps += [ "demuxer/aac_demuxer:plugin_aac_demuxer" ] 62 } 63 64 if (media_foundation_enable_plugin_lite_aac_decoder) { 65 deps += [ "lite_aac_decoder:plugin_lite_aac_decoder_adapter" ] 66 } 67 68 if (media_foundation_enable_plugin_file_source) { 69 deps += [ "source/file_source:plugin_file_source" ] 70 } 71 72 if (media_foundation_enable_plugin_file_fd_source) { 73 deps += [ "source/file_source:plugin_file_fd_source" ] 74 } 75 76 if (media_foundation_enable_plugin_std_stream_source) { 77 deps += [ "source/std_stream_source:plugin_std_stream_source" ] 78 } 79 80 if (media_foundation_enable_plugin_http_source) { 81 deps += [ "source/http_source:plugin_http_source" ] 82 } 83 84 if (media_foundation_enable_plugin_hdi_adapter) { 85 deps += [ "hdi_adapter:plugin_hdi_adapter" ] 86 } 87 88 if (media_foundation_enable_plugin_stream_source) { 89 deps += [ "source/stream_source:plugin_stream_source" ] 90 } 91 92 if (media_foundation_enable_plugin_http_lite_source) { 93 deps += [ "source/http_lite_source:plugin_http_lite_source" ] 94 } 95 96 if (media_foundation_enable_plugin_std_audio_capture) { 97 deps += [ "source/audio_capture:plugin_standard_audio_capture" ] 98 } 99 100 if (media_foundation_enable_plugin_audio_server_sink) { 101 deps += [ "sink/audio_server_sink:plugin_audio_server_sink" ] 102 } 103 104 if (media_foundation_enable_plugin_file_fd_sink) { 105 deps += [ "sink/file_sink:plugin_file_fd_sink" ] 106 } 107 108 if (media_foundation_enable_plugin_std_video_surface_sink) { 109 deps += [ "sink/video_surface_sink:plugin_standard_video_surface_sink" ] 110 } 111 112 if (media_foundation_enable_plugin_std_video_capture) { 113 deps += [ "source/video_capture:plugin_standard_video_capture" ] 114 } 115 116 if (media_foundation_enable_plugin_wav_demuxer) { 117 deps += [ "demuxer/wav_demuxer:plugin_wav_demuxer" ] 118 } 119 120 if (media_foundation_enable_plugin_codec_adapter) { 121 deps += [ "codec_adapter:plugin_codec_adapter" ] 122 } 123} 124 125config("gen_plugin_static_header_config") { 126 include_dirs = [ "${target_gen_dir}/include/" ] 127} 128 129action("gen_plugin_static_header") { 130 script = "//foundation/multimedia/media_foundation/engine/plugin/plugins/plugin_config.py" 131 132 args = [ 133 rebase_path( 134 "//foundation/multimedia/media_foundation/engine/plugin/plugins", 135 root_build_dir), 136 rebase_path("${target_gen_dir}/include/", root_build_dir), 137 ] 138 139 if (hst_is_mini_sys) { 140 if (media_foundation_enable_plugin_ffmpeg_adapter) { 141 args += [ 142 "FFmpegDemuxer", 143 "FFmpegAudioDecoders", 144 ] 145 } 146 147 if (media_foundation_enable_plugin_wav_demuxer) { 148 args += [ "WavDemuxer" ] 149 } 150 151 if (media_foundation_enable_plugin_minimp3_adapter) { 152 args += [ 153 "Minimp3Demuxer", 154 "Minimp3Decoder", 155 ] 156 } 157 158 if (media_foundation_enable_plugin_minimp4_demuxer) { 159 args += [ "MiniMP4Demuxer" ] 160 } 161 162 if (media_foundation_enable_plugin_lite_aac_decoder) { 163 args += [ "LiteAACDecoder" ] 164 } 165 166 if (media_foundation_enable_plugin_aac_demuxer) { 167 args += [ "AACDemuxer" ] 168 } 169 170 if (media_foundation_enable_plugin_file_source) { 171 args += [ "FileSource" ] 172 } 173 174 if (media_foundation_enable_plugin_file_fd_source) { 175 args += [ "FileFdSource" ] 176 } 177 178 if (media_foundation_enable_plugin_http_source) { 179 args += [ "HttpSource" ] 180 } 181 182 if (media_foundation_enable_plugin_hdi_adapter) { 183 args += [ "HdiAuSink" ] 184 } 185 186 if (media_foundation_enable_plugin_stream_source) { 187 args += [ "StreamSource" ] 188 } 189 190 if (media_foundation_enable_plugin_http_lite_source) { 191 args += [ "HttpLiteSource" ] 192 } 193 194 if (media_foundation_enable_plugin_file_fd_sink) { 195 args += [ "FileFdSink" ] 196 } 197 } 198 199 outputs = [ "${target_gen_dir}/include/all_plugin_static.h" ] 200 201 public_configs = [ ":gen_plugin_static_header_config" ] 202} 203