chromium/media/base/mac/BUILD.gn

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

assert(is_apple)

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",
    "//media/audio",
    "//media/device_monitors",
    "//media/filters",
    "//media/video",
  ]

  sources = [
    "channel_layout_util_mac.cc",
    "channel_layout_util_mac.h",
    "color_space_util_mac.h",
    "color_space_util_mac.mm",
    "video_capture_device_avfoundation_helpers.h",
    "video_capture_device_avfoundation_helpers.mm",
    "video_frame_mac.h",
    "video_frame_mac.mm",
    "videotoolbox_helpers.cc",
    "videotoolbox_helpers.h",
  ]
  if (is_apple) {
    frameworks = [
      "AudioToolbox.framework",
      "AVFoundation.framework",
      "CoreMedia.framework",
      "CoreVideo.framework",  # Required by video_frame_mac.cc.
      "VideoToolbox.framework",
    ]
  }
  configs += [ "//media:subcomponent_config" ]

  deps = [
    "//media/base",
    "//ui/gfx:color_space",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "channel_layout_util_mac_unittests.cc",
    "video_frame_mac_unittests.cc",
  ]
  frameworks = [
    "AudioToolbox.framework",
    "CoreVideo.framework",
  ]
  configs += [ "//media:media_config" ]
  deps = [
    "//media:test_support",
    "//testing/gtest",
    "//ui/gfx:color_space",
  ]
}