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 15# build plugin interface 16import("//foundation/multimedia/histreamer/config.gni") 17config("histreamer_pipeline_config") { 18 include_dirs = [ 19 "//foundation/multimedia/histreamer/engine/pipeline", 20 "//foundation/multimedia/histreamer/engine/pipeline/filters", 21 "//foundation/multimedia/histreamer/engine/pipeline/core", 22 ] 23} 24 25source_set("histreamer_pipeline") { 26 sources = [ 27 "core/compatible_check.cpp", 28 "core/error_code.cpp", 29 "core/event.cpp", 30 "core/filter_base.cpp", 31 "core/media_sync_manager.cpp", 32 "core/pipeline_core.cpp", 33 "core/port.cpp", 34 "factory/filter_factory.cpp", 35 "filters/codec/async_mode.cpp", 36 "filters/codec/audio_decoder/audio_decoder_filter.cpp", 37 "filters/codec/audio_encoder/audio_encoder_filter.cpp", 38 "filters/codec/codec_filter_base.cpp", 39 "filters/codec/codec_filter_factory.cpp", 40 "filters/codec/codec_mode.cpp", 41 "filters/codec/sync_mode.cpp", 42 "filters/common/buffer_calibration/audio_buffer_calibration.cpp", 43 "filters/common/buffer_calibration/buffer_calibration.cpp", 44 "filters/common/plugin_settings.cpp", 45 "filters/common/plugin_utils.cpp", 46 "filters/demux/data_packer.cpp", 47 "filters/demux/demuxer_filter.cpp", 48 "filters/demux/type_finder.cpp", 49 "filters/muxer/muxer_filter.cpp", 50 "filters/sink/audio_sink/audio_sink_filter.cpp", 51 "filters/sink/media_synchronous_sink.cpp", 52 "filters/sink/output_sink/output_sink_filter.cpp", 53 "filters/source/audio_capture/audio_capture_filter.cpp", 54 "filters/source/media_source/media_source_filter.cpp", 55 ] 56 if (multimedia_histreamer_enable_video) { 57 sources += [ 58 "filters/codec/video_decoder/video_decoder_filter.cpp", 59 "filters/sink/video_sink/video_sink_filter.cpp", 60 ] 61 if (multimedia_histreamer_enable_recorder) { 62 sources += [ 63 "filters/codec/video_encoder/video_encoder_filter.cpp", 64 "filters/source/video_capture/video_capture_filter.cpp", 65 ] 66 } 67 } 68 public_configs = [ 69 ":histreamer_pipeline_config", 70 "//foundation/multimedia/histreamer:histreamer_presets", 71 ] 72 public_deps = [ 73 "//foundation/multimedia/histreamer/engine/foundation:histreamer_foundation", 74 "//foundation/multimedia/histreamer/engine/plugin:histreamer_plugin_core", 75 "//foundation/multimedia/histreamer/engine/plugin:histreamer_plugin_intf", 76 ] 77} 78