chromium/third_party/blink/renderer/modules/mediarecorder/BUILD.gn

# Copyright 2016 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("//media/media_options.gni")
import("//third_party/blink/renderer/modules/modules.gni")
import("//third_party/libaom/options.gni")

blink_modules_sources("mediarecorder") {
  sources = [
    "audio_track_encoder.cc",
    "audio_track_encoder.h",
    "audio_track_mojo_encoder.cc",
    "audio_track_mojo_encoder.h",
    "audio_track_opus_encoder.cc",
    "audio_track_opus_encoder.h",
    "audio_track_pcm_encoder.cc",
    "audio_track_pcm_encoder.h",
    "audio_track_recorder.cc",
    "audio_track_recorder.h",
    "blob_event.cc",
    "blob_event.h",
    "key_frame_request_processor.cc",
    "key_frame_request_processor.h",
    "media_recorder.cc",
    "media_recorder.h",
    "media_recorder_encoder_wrapper.cc",
    "media_recorder_encoder_wrapper.h",
    "media_recorder_handler.cc",
    "media_recorder_handler.h",
    "track_recorder.cc",
    "track_recorder.h",
    "vea_encoder.cc",
    "vea_encoder.h",
    "video_track_recorder.cc",
    "video_track_recorder.h",
    "vpx_encoder.cc",
    "vpx_encoder.h",
  ]

  deps = [
    "//build:chromeos_buildflags",
    "//media",
    "//media/gpu:gpu",
    "//media/mojo/clients",
    "//media/mojo/mojom",
    "//third_party/blink/renderer/modules/mediastream",
    "//third_party/libvpx",
    "//third_party/libyuv",
    "//third_party/opus",
  ]

  if (media_use_openh264) {
    sources += [
      "h264_encoder.cc",
      "h264_encoder.h",
    ]

    deps += [ "//third_party/openh264:encoder" ]
  }

  if (enable_libaom) {
    deps += [ "//third_party/libaom" ]
  }
}