# Copyright 2017 The Chromium Authors
# 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")

source_set("muxers") {
  # Do not expand the visibility here without double-checking with OWNERS, this
  # is a roll-up target which is part of the //media component. Most other DEPs
  # should be using //media and not directly DEP this roll-up target.
  visibility = [ "//media" ]

  sources = [
    "file_webm_muxer_delegate.cc",
    "file_webm_muxer_delegate.h",
    "live_webm_muxer_delegate.cc",
    "live_webm_muxer_delegate.h",
    "mp4_muxer_context.cc",
    "mp4_muxer_context.h",
    "muxer.cc",
    "muxer.h",
    "output_position_tracker.cc",
    "output_position_tracker.h",
    "webm_muxer.cc",
    "webm_muxer.h",
  ]

  deps = [
    "//base",
    "//media/base",
    "//media/formats",
    "//third_party/libwebm",
    "//ui/gfx/geometry",
  ]

  configs += [ "//media:subcomponent_config" ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "mp4_muxer_context_unittest.cc",
    "output_position_tracker_unittest.cc",
    "webm_muxer_unittest.cc",
  ]

  deps = [
    "//base/test:test_support",
    "//media:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/libwebm",
  ]
}
