# Copyright (C) 2023-2026 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")
import("//foundation/multimedia/av_codec/config.gni")

group("av_codec_media_engine_plugins") {
  deps = [
    "demuxer:media_plugin_FFmpegDemuxer",
    "demuxer:media_plugin_Mpeg4Demuxer",
    "ffmpeg_adapter:media_plugin_FFmpegMuxer",
    "ffmpeg_adapter:media_plugin_Mpeg4Muxer",
    "ffmpeg_adapter/audio_decoder:media_plugin_FFmpegAudioDecoders",
    "ffmpeg_adapter/audio_decoder/g711mu:media_plugin_G711muAudioDecoder",
    "ffmpeg_adapter/audio_decoder/g711a:media_plugin_G711aAudioDecoder",
    "ffmpeg_adapter/audio_decoder/lbvc:media_plugin_LbvcAudioDecoder",
    "ffmpeg_adapter/audio_decoder/raw:media_plugin_RawAudioDecoder",
    "ffmpeg_adapter/audio_encoder:media_plugin_FFmpegAudioEncoders",
    "ffmpeg_adapter/audio_encoder/g711mu:media_plugin_G711muAudioEncoder",
    "ffmpeg_adapter/audio_encoder/lbvc:media_plugin_LbvcAudioEncoder",
    "ffmpeg_adapter/audio_encoder/mp3:media_plugin_Mp3AudioEncoder",
    "sink:media_plugin_AudioServerSink",
    "source:media_plugin_DataStreamSource",
    "source:media_plugin_FileFdSource",
    "source:media_plugin_FileSource",
    "source/http_source:media_plugin_HttpSource_static",
  ]
  if (av_codec_support_libcurl) {
    deps += [ "source/http_source:media_plugin_HttpSource" ]
  }
  if (av_codec_enable_codec_eac3) {
    deps +=
        [ "ffmpeg_adapter/audio_decoder/eac3:media_plugin_Eac3AudioDecoder" ]
  }
  if (av_codec_enable_codec_opus) {
    deps += [
      "ffmpeg_adapter/audio_encoder/opus:media_plugin_OpusAudioEncoder",
      "ffmpeg_adapter/audio_decoder/opus:media_plugin_OpusAudioDecoder",
      "ffmpeg_adapter/audio_decoder/opus_base:av_codec_ext_base"
    ]
  }
  if (av_codec_enable_codec_amrnb) {
    deps +=
        [ "ffmpeg_adapter/audio_encoder/amrnb:media_plugin_AmrNbAudioEncoder" ]
  }
}