chromium/components/chromeos_camera/common/BUILD.gn

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

import("//mojo/public/tools/bindings/mojom.gni")

mojom("common") {
  sources = [
    "dmabuf.mojom",
    "jpeg_encode_accelerator.mojom",
    "mjpeg_decode_accelerator.mojom",
  ]

  public_deps = [
    "//media/mojo/mojom",
    "//mojo/public/mojom/base",
    "//ui/gfx/geometry/mojom",
  ]

  cpp_typemaps = [
    {
      types = [
        {
          mojom = "chromeos_camera.mojom.EncodeStatus"
          cpp = "::chromeos_camera::JpegEncodeAccelerator::Status"
        },
      ]
      traits_headers = [ "jpeg_encode_accelerator_mojom_traits.h" ]
      traits_sources = [ "jpeg_encode_accelerator_mojom_traits.cc" ]
      traits_deps = [ "//base" ]
    },
    {
      types = [
        {
          mojom = "chromeos_camera.mojom.BitstreamBuffer"
          cpp = "::media::BitstreamBuffer"
          move_only = true
        },
        {
          mojom = "chromeos_camera.mojom.DecodeError"
          cpp = "::chromeos_camera::MjpegDecodeAccelerator::Error"
        },
      ]
      traits_headers = [ "mjpeg_decode_accelerator_mojom_traits.h" ]
      traits_sources = [ "mjpeg_decode_accelerator_mojom_traits.cc" ]
      traits_public_deps = [
        "//base",
        "//media",
      ]
      traits_deps = [
        "//media/base/ipc",
        "//mojo/public/cpp/base:typemap_traits",
        "//mojo/public/cpp/system",
      ]
    },
  ]
}