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/histreamer/config.gni") 16 17if (!hst_is_lite_sys) { 18 ohos_kernel_type = "" 19} 20 21print("histreamer plugin: ffmpeg_adapter =", 22 multimedia_histreamer_enable_plugin_ffmpeg_adapter) 23print("histreamer plugin: wav_demuxer =", 24 multimedia_histreamer_enable_plugin_wav_demuxer) 25print("histreamer plugin: hdi_adapter =", 26 multimedia_histreamer_enable_plugin_hdi_adapter) 27print("histreamer plugin: file_source =", 28 multimedia_histreamer_enable_plugin_file_source) 29print("histreamer plugin: file_fd_source =", 30 multimedia_histreamer_enable_plugin_file_fd_source) 31print("histreamer plugin: std_stream_source =", 32 multimedia_histreamer_enable_plugin_std_stream_source) 33print("histreamer plugin: http_source =", 34 multimedia_histreamer_enable_plugin_http_source) 35print("histreamer plugin: stream_source =", 36 multimedia_histreamer_enable_plugin_stream_source) 37print("histreamer plugin: audio_server_sink =", 38 multimedia_histreamer_enable_plugin_audio_server_sink) 39print("histreamer plugin:lite_aac_decoder =", 40 multimedia_histreamer_enable_plugin_lite_aac_decoder) 41print("histreamer plugin:std_video_surface_sink =", 42 multimedia_histreamer_enable_plugin_std_video_surface_sink) 43print("histreamer plugin:std_video_capture =", 44 multimedia_histreamer_enable_plugin_std_video_capture) 45 46group("histreamer_plugin_store") { 47 deps = [] 48 if (multimedia_histreamer_enable_plugin_ffmpeg_adapter) { 49 deps += [ "ffmpeg_adapter:plugin_ffmpeg_adapter" ] 50 } 51 52 if (multimedia_histreamer_enable_plugin_minimp3_adapter) { 53 deps += [ "minimp3_adapter:plugin_minimp3_adapter" ] 54 } 55 56 if (multimedia_histreamer_enable_plugin_minimp4_demuxer) { 57 deps += [ "demuxer/minimp4_demuxer:plugin_minimp4_demuxer" ] 58 } 59 60 if (multimedia_histreamer_enable_plugin_aac_demuxer) { 61 deps += [ "demuxer/aac_demuxer:plugin_aac_demuxer" ] 62 } 63 64 if (multimedia_histreamer_enable_plugin_lite_aac_decoder) { 65 deps += [ "lite_aac_decoder:plugin_lite_aac_decoder_adapter" ] 66 } 67 68 if (multimedia_histreamer_enable_plugin_file_source) { 69 deps += [ "source/file_source:plugin_file_source" ] 70 } 71 72 if (multimedia_histreamer_enable_plugin_file_fd_source) { 73 deps += [ "source/file_source:plugin_file_fd_source" ] 74 } 75 76 if (multimedia_histreamer_enable_plugin_std_stream_source) { 77 deps += [ "source/std_stream_source:plugin_std_stream_source" ] 78 } 79 80 if (multimedia_histreamer_enable_plugin_http_source) { 81 deps += [ "source/http_source:plugin_http_source" ] 82 } 83 84 if (multimedia_histreamer_enable_plugin_hdi_adapter) { 85 deps += [ "hdi_adapter:plugin_hdi_adapter" ] 86 } 87 88 if (multimedia_histreamer_enable_plugin_stream_source) { 89 deps += [ "source/stream_source:plugin_stream_source" ] 90 } 91 92 if (multimedia_histreamer_enable_plugin_http_lite_source) { 93 deps += [ "source/http_lite_source:plugin_http_lite_source" ] 94 } 95 96 if (multimedia_histreamer_enable_plugin_std_audio_capture) { 97 deps += [ "source/audio_capture:plugin_standard_audio_capture" ] 98 } 99 100 if (multimedia_histreamer_enable_plugin_audio_server_sink) { 101 deps += [ "sink/audio_server_sink:plugin_audio_server_sink" ] 102 } 103 104 if (multimedia_histreamer_enable_plugin_file_sink) { 105 deps += [ "sink/file_sink:plugin_file_sink" ] 106 } 107 108 if (multimedia_histreamer_enable_plugin_std_video_surface_sink) { 109 deps += [ "sink/video_surface_sink:plugin_standard_video_surface_sink" ] 110 } 111 112 if (multimedia_histreamer_enable_plugin_std_video_capture) { 113 deps += [ "source/video_capture:plugin_standard_video_capture" ] 114 } 115 116 if (multimedia_histreamer_enable_plugin_wav_demuxer) { 117 deps += [ "demuxer/wav_demuxer:plugin_wav_demuxer" ] 118 } 119 120 if (multimedia_histreamer_enable_plugin_avs3_audio_decoder) { 121 deps += [ "//foundation/multimedia/histreamer_ext/codec/avs3_audio_decoder:plugin_avs3_audio_decoder" ] 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/histreamer/engine/plugin/plugins/plugin_config.py" 131 132 args = [ 133 rebase_path("//foundation/multimedia/histreamer/engine/plugin/plugins", 134 root_build_dir), 135 rebase_path("${target_gen_dir}/include/", root_build_dir), 136 ] 137 138 if (ohos_kernel_type == "liteos_m") { 139 if (multimedia_histreamer_enable_plugin_ffmpeg_adapter) { 140 args += [ 141 "FFmpegDemuxer", 142 "FFmpegAudioDecoders", 143 ] 144 } 145 146 if (multimedia_histreamer_enable_plugin_wav_demuxer) { 147 args += [ "WavDemuxer" ] 148 } 149 150 if (multimedia_histreamer_enable_plugin_minimp3_adapter) { 151 args += [ 152 "Minimp3Demuxer", 153 "Minimp3Decoder", 154 ] 155 } 156 157 if (multimedia_histreamer_enable_plugin_minimp4_demuxer) { 158 args += [ "MiniMP4Demuxer" ] 159 } 160 161 if (multimedia_histreamer_enable_plugin_lite_aac_decoder) { 162 args += [ "LiteAACDecoder" ] 163 } 164 165 if (multimedia_histreamer_enable_plugin_aac_demuxer) { 166 args += [ "AACDemuxer" ] 167 } 168 169 if (multimedia_histreamer_enable_plugin_file_source) { 170 args += [ "FileSource" ] 171 } 172 173 if (multimedia_histreamer_enable_plugin_file_fd_source) { 174 args += [ "FileFdSource" ] 175 } 176 177 if (multimedia_histreamer_enable_plugin_http_source) { 178 args += [ "HttpSource" ] 179 } 180 181 if (multimedia_histreamer_enable_plugin_hdi_adapter) { 182 args += [ "HdiAuSink" ] 183 } 184 185 if (multimedia_histreamer_enable_plugin_stream_source) { 186 args += [ "StreamSource" ] 187 } 188 189 if (multimedia_histreamer_enable_plugin_http_lite_source) { 190 args += [ "HttpLiteSource" ] 191 } 192 193 if (multimedia_histreamer_enable_plugin_file_sink) { 194 args += [ 195 "FileFdSink", 196 "FilePathSink", 197 ] 198 } 199 } 200 201 outputs = [ "${target_gen_dir}/include/all_plugin_static.h" ] 202 203 public_configs = [ ":gen_plugin_static_header_config" ] 204} 205