# Copyright 2015 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. source_set("encoder") { sources = [ "audio_encoder.h", "encoder_bitrate_filter.cc", "encoder_bitrate_filter.h", "frame_processing_time_estimator.cc", "frame_processing_time_estimator.h", "video_encoder.cc", "video_encoder.h", "video_encoder_helper.cc", "video_encoder_helper.h", "video_encoder_verbatim.cc", "video_encoder_verbatim.h", "video_encoder_vpx.cc", "video_encoder_vpx.h", "webrtc_video_encoder_proxy.cc", "webrtc_video_encoder_proxy.h", "webrtc_video_encoder_selector.cc", "webrtc_video_encoder_selector.h", "webrtc_video_encoder_vpx.cc", "webrtc_video_encoder_vpx.h", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] deps = [ ":vpx_codec", "//base/third_party/dynamic_annotations", "//remoting/proto", "//third_party/libvpx", "//third_party/libyuv", "//third_party/opus", "//third_party/webrtc/modules/desktop_capture:primitives", "//ui/gfx:color_space", "//ui/gfx/geometry", ] # Currently, building WebrtcVideoEncoderGpu is only supported on Windows and # Linux, and encoding with WebrtcVideoEncoderGpu is only supported on Windows. if (is_win || is_linux) { public_configs = [ "//skia:skia_config", ] sources += [ "webrtc_video_encoder_gpu.cc", "webrtc_video_encoder_gpu.h", ] deps += [ "//gpu/command_buffer/service", "//media/gpu", ] } # Opus depends on //media, which is not a supported include for iOS. # Also disabled it on Android, to avoid dependency on //media. # TODO(sergeyu): Cleanup host-only deps in client targets. if (!is_ios && !is_android) { sources += [ "audio_encoder_opus.cc", "audio_encoder_opus.h", "cast_software_video_encoder_adapter.cc", "cast_software_video_encoder_adapter.h", ] deps += [ "//media", "//media:shared_memory_support", "//media/cast:sender", ] } } source_set("decoder") { sources = [ "audio_decoder.cc", "audio_decoder.h", "audio_decoder_opus.cc", "audio_decoder_opus.h", "video_decoder.h", "video_decoder_verbatim.cc", "video_decoder_verbatim.h", "video_decoder_vpx.cc", "video_decoder_vpx.h", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] deps = [ ":vpx_codec", "//base/third_party/dynamic_annotations", "//remoting/proto", "//third_party/libvpx", "//third_party/libyuv", "//third_party/opus", "//third_party/webrtc/modules/desktop_capture:primitives", ] } source_set("vpx_codec") { sources = [ "scoped_vpx_codec.cc", "scoped_vpx_codec.h", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] public_deps = [ "//third_party/libvpx", ] deps = [ "//base/third_party/dynamic_annotations", "//remoting/proto", "//third_party/libyuv", "//third_party/webrtc/modules/desktop_capture:primitives", ] } source_set("unit_tests") { testonly = true sources = [ "audio_encoder_opus_unittest.cc", "codec_test.cc", "codec_test.h", "encoder_bitrate_filter_unittest.cc", "frame_processing_time_estimator_unittest.cc", "video_decoder_vpx_unittest.cc", "video_encoder_helper_unittest.cc", "video_encoder_verbatim_unittest.cc", "video_encoder_vpx_unittest.cc", "webrtc_video_encoder_selector_unittest.cc", ] deps = [ ":decoder", ":encoder", "//base", "//remoting/proto", "//testing/gtest", "//third_party/webrtc/modules/desktop_capture", "//ui/gfx:color_space", ] if (is_ios || is_android) { sources -= [ "audio_encoder_opus_unittest.cc" ] } }