# 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")

cast_source_set("key_systems") {
  sources = [
    "key_systems_common.cc",
    "key_systems_common.h",
  ]

  if (use_playready) {
    public_configs = [ "//chromecast:playready_config" ]
  }

  deps = [
    "//base",
    "//chromecast/public/media",
    "//media",
    "//third_party/widevine/cdm:headers",
  ]
}

cast_source_set("base") {
  sources = [
    "audio_device_ids.cc",
    "audio_device_ids.h",
    "decrypt_context_impl.cc",
    "decrypt_context_impl.h",
    "decrypt_context_impl_clearkey.cc",
    "decrypt_context_impl_clearkey.h",
    "media_caps.cc",
    "media_caps.h",
    "slew_volume.cc",
    "slew_volume.h",
    "supported_codec_profile_levels_memo.cc",
    "supported_codec_profile_levels_memo.h",
    "video_mode_switcher.cc",
    "video_mode_switcher.h",
  ]

  if (!is_android) {
    sources += [
      "video_resolution_policy.cc",
      "video_resolution_policy.h",
    ]
  }

  public_deps = [
    ":key_systems",
    ":media_codec_support",
    "//chromecast/public/media",
  ]

  deps = [
    "//base",
    "//chromecast/base",
    "//crypto",
    "//crypto:platform",
    "//media",
    "//media:shared_memory_support",
    "//ui/gfx/geometry",
  ]
}

cast_source_set("media_resource_tracker") {
  sources = [
    "media_resource_tracker.cc",
    "media_resource_tracker.h",
  ]

  deps = [
    "//base",
    "//chromecast/base",
    "//chromecast/media:libcast_media",
  ]
}

cast_source_set("media_codec_support") {
  sources = [
    "media_codec_support.cc",
    "media_codec_support.h",
  ]

  public_deps = [
    "//chromecast/public/media",
  ]

  deps = [
    "//base",
    "//media",
  ]
}

cast_source_set("video_plane_controller") {
  sources = [
    "video_plane_controller.cc",
    "video_plane_controller.h",
  ]

  public_deps = [
    "//chromecast/public",
  ]

  deps = [
    "//base",
    "//chromecast/media:libcast_media",
  ]
}