chromium/chromecast/media/cma/pipeline/BUILD.gn

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

import("//build/buildflag_header.gni")
import("//build/config/cast.gni")
import("//chromecast/chromecast.gni")

declare_args() {
  # Set true to use accurate but more expensive method for GetMediaTime().
  cma_use_accurate_media_time = is_cast_audio_only
}

cast_source_set("pipeline") {
  sources = [
    "audio_pipeline_impl.cc",
    "audio_pipeline_impl.h",
    "av_pipeline_client.cc",
    "av_pipeline_client.h",
    "av_pipeline_impl.cc",
    "av_pipeline_impl.h",
    "backend_decryptor.cc",
    "backend_decryptor.h",
    "cdm_decryptor.cc",
    "cdm_decryptor.h",
    "decrypt_util.cc",
    "decrypt_util.h",
    "load_type.h",
    "media_pipeline_client.cc",
    "media_pipeline_client.h",
    "media_pipeline_impl.cc",
    "media_pipeline_impl.h",
    "media_pipeline_observer.cc",
    "media_pipeline_observer.h",
    "stream_decryptor.h",
    "video_pipeline_client.cc",
    "video_pipeline_client.h",
    "video_pipeline_impl.cc",
    "video_pipeline_impl.h",
  ]

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

  deps = [
    ":cma_pipeline_buildflags",
    "//base",
    "//chromecast/base",
    "//chromecast/base/metrics:metrics",
    "//chromecast/media/base",
    "//chromecast/media/cdm",
    "//chromecast/media/cma/backend",
    "//chromecast/media/cma/base",
    "//crypto",
    "//media",
    "//third_party/boringssl",
  ]
}

buildflag_header("cma_pipeline_buildflags") {
  header = "cma_pipeline_buildflags.h"

  flags = [ "CMA_USE_ACCURATE_MEDIA_TIME=$cma_use_accurate_media_time" ]
}