blob: 919767550a05af52cf4bdb314b8e3312e9bf142e [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//media/media_options.gni")
source_set("filters") {
visibility = [ "//media/*" ]
sources = [
"audio_clock.cc",
"audio_clock.h",
"audio_renderer_algorithm.cc",
"audio_renderer_algorithm.h",
"audio_timestamp_validator.cc",
"audio_timestamp_validator.h",
"chunk_demuxer.cc",
"chunk_demuxer.h",
"context_3d.h",
"decoder_selector.cc",
"decoder_selector.h",
"decoder_stream.cc",
"decoder_stream.h",
"decoder_stream_traits.cc",
"decoder_stream_traits.h",
"decrypting_audio_decoder.cc",
"decrypting_audio_decoder.h",
"decrypting_demuxer_stream.cc",
"decrypting_demuxer_stream.h",
"decrypting_video_decoder.cc",
"decrypting_video_decoder.h",
"file_data_source.cc",
"file_data_source.h",
"frame_processor.cc",
"frame_processor.h",
"gpu_video_decoder.cc",
"gpu_video_decoder.h",
"h264_bit_reader.cc",
"h264_bit_reader.h",
"h264_parser.cc",
"h264_parser.h",
"ivf_parser.cc",
"ivf_parser.h",
"jpeg_parser.cc",
"jpeg_parser.h",
"memory_data_source.cc",
"memory_data_source.h",
"opus_constants.cc",
"opus_constants.h",
"pipeline_controller.cc",
"pipeline_controller.h",
"source_buffer_parse_warnings.h",
"source_buffer_range.cc",
"source_buffer_range.h",
"source_buffer_state.cc",
"source_buffer_state.h",
"source_buffer_stream.cc",
"source_buffer_stream.h",
"stream_parser_factory.cc",
"stream_parser_factory.h",
"video_cadence_estimator.cc",
"video_cadence_estimator.h",
"video_renderer_algorithm.cc",
"video_renderer_algorithm.h",
"vp8_bool_decoder.cc",
"vp8_bool_decoder.h",
"vp8_parser.cc",
"vp8_parser.h",
"vp9_bool_decoder.cc",
"vp9_bool_decoder.h",
"vp9_compressed_header_parser.cc",
"vp9_compressed_header_parser.h",
"vp9_parser.cc",
"vp9_parser.h",
"vp9_raw_bits_reader.cc",
"vp9_raw_bits_reader.h",
"vp9_uncompressed_header_parser.cc",
"vp9_uncompressed_header_parser.h",
"webvtt_util.h",
"wsola_internals.cc",
"wsola_internals.h",
]
# TODO(wolenetz): Fix size_t to int truncation in win64.
# See http://crbug.com/171009
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
# TODO(a.suchit): Needs to create separate BUILD.gn file for video.
sources += [
"//media/video/fake_video_encode_accelerator.cc",
"//media/video/fake_video_encode_accelerator.h",
"//media/video/gpu_memory_buffer_video_frame_pool.cc",
"//media/video/gpu_memory_buffer_video_frame_pool.h",
"//media/video/h264_poc.cc",
"//media/video/h264_poc.h",
"//media/video/half_float_maker.cc",
"//media/video/half_float_maker.h",
"//media/video/jpeg_decode_accelerator.cc",
"//media/video/jpeg_decode_accelerator.h",
"//media/video/picture.cc",
"//media/video/picture.h",
"//media/video/video_decode_accelerator.cc",
"//media/video/video_decode_accelerator.h",
"//media/video/video_encode_accelerator.cc",
"//media/video/video_encode_accelerator.h",
]
configs += [
"//media:media_config",
"//media:media_implementation",
]
all_dependent_configs = [ "//media:media_dependent_config" ]
deps = [
"//skia",
"//third_party/libyuv",
]
libs = []
public_deps = [
"//media:media_features",
"//media/audio",
"//media/cdm",
"//media/muxers",
]
if (proprietary_codecs) {
sources += [
"h264_to_annex_b_bitstream_converter.cc",
"h264_to_annex_b_bitstream_converter.h",
]
}
if (media_use_ffmpeg) {
public_deps += [ "//media/ffmpeg" ]
deps += [
"//third_party/ffmpeg",
"//third_party/opus",
]
sources += [
"audio_file_reader.cc",
"audio_file_reader.h",
"blocking_url_protocol.cc",
"blocking_url_protocol.h",
"ffmpeg_audio_decoder.cc",
"ffmpeg_audio_decoder.h",
"ffmpeg_bitstream_converter.h",
"ffmpeg_demuxer.cc",
"ffmpeg_demuxer.h",
"ffmpeg_glue.cc",
"ffmpeg_glue.h",
"in_memory_url_protocol.cc",
"in_memory_url_protocol.h",
]
if (!is_android) {
sources += [
"audio_video_metadata_extractor.cc",
"audio_video_metadata_extractor.h",
"media_file_checker.cc",
"media_file_checker.h",
]
}
}
if (media_use_libvpx) {
sources += [
"vpx_video_decoder.cc",
"vpx_video_decoder.h",
]
deps += [ "//third_party/libvpx" ]
}
if (proprietary_codecs && media_use_ffmpeg) {
sources += [
"ffmpeg_aac_bitstream_converter.cc",
"ffmpeg_aac_bitstream_converter.h",
"ffmpeg_h264_to_annex_b_bitstream_converter.cc",
"ffmpeg_h264_to_annex_b_bitstream_converter.h",
]
}
if (proprietary_codecs && enable_hevc_demuxing) {
sources += [
"h265_parser.cc",
"h265_parser.h",
]
}
if (media_use_ffmpeg && !disable_ffmpeg_video_decoders) {
sources += [
"ffmpeg_video_decoder.cc",
"ffmpeg_video_decoder.h",
]
}
if (proprietary_codecs && media_use_ffmpeg && enable_hevc_demuxing) {
sources += [
"ffmpeg_h265_to_annex_b_bitstream_converter.cc",
"ffmpeg_h265_to_annex_b_bitstream_converter.h",
]
}
if (is_android) {
sources -= [
"decrypting_audio_decoder.cc",
"decrypting_audio_decoder.h",
"decrypting_video_decoder.cc",
"decrypting_video_decoder.h",
]
sources += [
"android/media_codec_audio_decoder.cc",
"android/media_codec_audio_decoder.h",
]
}
if (current_cpu != "arm" && is_chromeos) {
sources += [
"h264_bitstream_buffer.cc",
"h264_bitstream_buffer.h",
]
}
if (use_low_memory_buffer) {
sources += [
"source_buffer_platform.h",
"source_buffer_platform_lowmem.cc",
]
} else {
sources += [
"source_buffer_platform.cc",
"source_buffer_platform.h",
]
}
}