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

assert(is_mac || is_ios)

source_set("mac") {
  # Note: This source_set is depended on only by //media. In the component
  # build, if other component targets also depend on it, multiple copies of
  # the ObjC classes declared in the files below will cause warnings at
  # run-time.
  visibility = [ "//media" ]

  set_sources_assignment_filter([])
  sources = [
    "coremedia_glue.h",
    "coremedia_glue.mm",
    "corevideo_glue.h",
    "video_frame_mac.cc",
    "video_frame_mac.h",
    "videotoolbox_glue.h",
    "videotoolbox_glue.mm",
    "videotoolbox_helpers.cc",
    "videotoolbox_helpers.h",
  ]
  if (is_mac) {
    sources += [
      "avfoundation_glue.h",
      "avfoundation_glue.mm",
    ]
    libs = [
      "AVFoundation.framework",
      "CoreVideo.framework",  # Required by video_frame_mac.cc.
    ]
  }
  set_sources_assignment_filter(sources_assignment_filter)
  configs += [
    "//media:media_config",
    "//media:media_implementation",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "video_frame_mac_unittests.cc",
  ]
  libs = [ "CoreVideo.framework" ]
  configs += [ "//media:media_config" ]
  deps = [
    "//testing/gtest",
  ]
}
