# 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.

import("//chromecast/chromecast.gni")
import("//testing/test.gni")

group("media") {
  public_deps = [
    "//chromecast/media/audio",
    "//chromecast/media/base",
    "//chromecast/media/cdm",
    "//chromecast/media/cma",
  ]
}

test("cast_media_unittests") {
  sources = [
    "audio/cast_audio_mixer_unittest.cc",
    "audio/cast_audio_output_stream_unittest.cc",
    "base/media_resource_tracker_unittest.cc",
    "cma/backend/audio_video_pipeline_device_unittest.cc",
    "cma/base/balanced_media_task_runner_unittest.cc",
    "cma/base/buffering_controller_unittest.cc",
    "cma/base/buffering_frame_provider_unittest.cc",
    "cma/base/decoder_buffer_adapter_unittest.cc",
    "cma/base/demuxer_stream_adapter_unittest.cc",
    "cma/base/demuxer_stream_for_test.cc",
    "cma/base/demuxer_stream_for_test.h",
    "cma/base/multi_demuxer_stream_adapter_unittest.cc",
    "cma/pipeline/audio_video_pipeline_impl_unittest.cc",
    "cma/test/frame_generator_for_test.cc",
    "cma/test/frame_generator_for_test.h",
    "cma/test/frame_segmenter_for_test.cc",
    "cma/test/frame_segmenter_for_test.h",
    "cma/test/mock_frame_consumer.cc",
    "cma/test/mock_frame_consumer.h",
    "cma/test/mock_frame_provider.cc",
    "cma/test/mock_frame_provider.h",
    "cma/test/run_all_unittests.cc",
  ]

  deps = [
    ":media",
    "//base",
    "//base:i18n",
    "//base/test:test_support",
    "//chromecast/base",
    "//chromecast/base/metrics:test_support",
    "//chromecast/media/audio",
    "//chromecast/media/cma/backend",
    "//chromecast/media/cma/base",
    "//chromecast/media/cma/pipeline",
    "//chromecast/public",
    "//media",
    "//media/base:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//ui/display",
    "//ui/gfx/geometry",
  ]

  if (chromecast_branding == "public") {
    # Link default libcast_media_1.0 statically not to link dummy one
    # dynamically for public unittests.
    deps += [ "//chromecast/media/base:libcast_media_1.0_default_core" ]
  }
}

test("cast_multizone_backend_unittests") {
  sources = [
    "cma/backend/multizone_backend_unittest.cc",
    "cma/test/run_all_unittests.cc",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//chromecast/base",
    "//chromecast/base/metrics:test_support",
    "//chromecast/media/base:libcast_media_1.0",
    "//chromecast/media/cma/backend",
    "//chromecast/media/cma/base",
    "//chromecast/public",
    "//media",
    "//media/base:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]

  if (chromecast_branding == "public") {
    # Link default libcast_media_1.0 statically not to link dummy one
    # dynamically for public unittests.
    deps += [ "//chromecast/media/base:libcast_media_1.0_default_core" ]
  }
}
