# Copyright 2018 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")
import("//third_party/webrtc/webrtc.gni")

component("webrtc") {
  output_name = "media_webrtc"

  sources = [
    "audio_delay_stats_reporter.cc",
    "audio_delay_stats_reporter.h",
    "helpers.cc",
    "helpers.h",
    "webrtc_features.cc",
    "webrtc_features.h",
  ]

  defines = [ "IS_MEDIA_WEBRTC_IMPL" ]

  deps = [
    "//base",
    "//build:chromecast_buildflags",
    "//media",
    "//media:shared_memory_support",
    "//third_party/webrtc_overrides:webrtc_component",
  ]
}

source_set("unit_tests") {
  testonly = true
  deps = [
    "//base",
    "//base/test:test_support",
    "//build:chromecast_buildflags",
    "//media:test_support",
    "//media/webrtc",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/webrtc_overrides:webrtc_component",
  ]
  sources = [ "helpers_unittests.cc" ]
}
