# Copyright 2018 The Fuchsia 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("//build/test.gni")

source_set("core") {
  sources = [
    "conversion_pipeline_builder.cc",
    "conversion_pipeline_builder.h",
    "demux_source_segment.cc",
    "demux_source_segment.h",
    "elementary_source_segment.cc",
    "elementary_source_segment.h",
    "player_core.cc",
    "player_core.h",
    "renderer_sink_segment.cc",
    "renderer_sink_segment.h",
    "segment.cc",
    "segment.h",
    "sink_segment.cc",
    "sink_segment.h",
    "source_segment.cc",
    "source_segment.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.media",
    "//sdk/fidl/fuchsia.media.playback",
  ]

  deps = [
    "//garnet/public/lib/media/timeline",
    "//sdk/lib/fidl/cpp",
    "//src/lib/fxl",
    "//src/media/playback/mediaplayer/decode",
    "//src/media/playback/mediaplayer/demux",
    "//src/media/playback/mediaplayer/graph",
    "//src/media/playback/mediaplayer/render",
    "//src/media/playback/mediaplayer/util",
    "//zircon/public/lib/fbl",
  ]
}

test("tests") {
  output_name = "mediaplayer_core_tests"

  sources = [
    "test/fake_audio_renderer.cc",
    "test/fake_audio_renderer.h",
    "test/fake_decoder.cc",
    "test/fake_decoder.h",
    "test/fake_demux.cc",
    "test/fake_demux.h",
    "test/fake_sink_segment.h",
    "test/fake_source_segment.h",
    "test/fake_video_renderer.cc",
    "test/fake_video_renderer.h",
    "test/player_core_test.cc",
  ]

  deps = [
    ":core",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/gtest",
    "//src/lib/fxl",
    "//src/media/playback/mediaplayer/decode",
    "//src/media/playback/mediaplayer/demux",
    "//src/media/playback/mediaplayer/graph",
    "//src/media/playback/mediaplayer/render",
    "//third_party/googletest:gtest_main",
  ]
}
