| # 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", |
| "audio_encoder_opus.cc", |
| "audio_encoder_opus.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_vpx.cc", |
| "webrtc_video_encoder_vpx.h", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| deps = [ |
| ":vpx_codec", |
| "//base/third_party/dynamic_annotations", |
| "//media", |
| "//media:shared_memory_support", |
| "//remoting/proto", |
| "//third_party/libvpx", |
| "//third_party/libyuv", |
| "//third_party/opus", |
| "//third_party/webrtc/modules/desktop_capture:primitives", |
| "//ui/gfx:color_space", |
| ] |
| |
| # Currently, building WebrtcVideoEncoderGpu is only supported on Windows and |
| # Linux, and encoding with WebrtcVideoEncoderGpu is only supported on Windows. |
| if (is_win || is_linux) { |
| 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", |
| ] |
| deps -= [ |
| "//media", |
| "//media:shared_memory_support", |
| ] |
| } |
| } |
| |
| 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", |
| "video_decoder_vpx_unittest.cc", |
| "video_encoder_helper_unittest.cc", |
| "video_encoder_verbatim_unittest.cc", |
| "video_encoder_vpx_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" ] |
| } |
| } |