# 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("//build/config/linux/pkg_config.gni")
import("//build/shim_headers.gni")

pkg_config("system_ffmpeg") {
  packages = [
    "libavcodec",
    "libavformat",
    "libavutil",
  ]
}

buildflag_header("ffmpeg_features") {
  header = "ffmpeg_features.h"
  flags = [ "USE_SYSTEM_FFMPEG=true" ]
}

shim_headers("ffmpeg_shim") {
  root_path = "."
  headers = [
    "libavcodec/avcodec.h",
    "libavcodec/packet.h",
    "libavformat/avformat.h",
    "libavutil/imgutils.h",
  ]
}

source_set("ffmpeg") {
  deps = [
    ":ffmpeg_features",
    ":ffmpeg_shim",
  ]
  public_configs = [ ":system_ffmpeg" ]
}
