#Copyright 2016 The Chromium 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/module_args/mojo.gni")
import("$mojo_sdk_root/mojo/public/mojo_sdk.gni")

config("default_include_dirs") {
  include_dirs = [
    "//",
    root_gen_dir,
    "//third_party/ffmpeg",
  ]

  #TODO(dalesat) : Why is this needed ?
  if (is_android) {
    include_dirs +=
        [ "//third_party/ffmpeg/chromium/config/Chromium/android/arm" ]
  }
}

source_set("framework_ffmpeg") {
  sources = [
    "av_codec_context.cc",
    "av_codec_context.h",
    "av_format_context.h",
    "av_frame.h",
    "av_io_context.cc",
    "av_io_context.h",
    "av_packet.h",
    "ffmpeg_audio_decoder.cc",
    "ffmpeg_audio_decoder.h",
    "ffmpeg_decoder.cc",
    "ffmpeg_decoder.h",
    "ffmpeg_decoder_base.cc",
    "ffmpeg_decoder_base.h",
    "ffmpeg_demux.cc",
    "ffmpeg_demux.h",
    "ffmpeg_formatting.cc",
    "ffmpeg_formatting.h",
    "ffmpeg_init.cc",
    "ffmpeg_init.h",
    "ffmpeg_video_decoder.cc",
    "ffmpeg_video_decoder.h",
  ]

  deps = [
    "//base",
    "//mojo/common",
    "//services/media/framework",
    "//third_party/ffmpeg",
  ]

  defines = [
    "FF_API_PIX_FMT_DESC=0",
    "FF_API_OLD_DECODE_AUDIO=0",
    "FF_API_DESTRUCT_PACKET=0",
    "FF_API_GET_BUFFER=0",
  ]

  configs -= [ "//build/config/compiler:default_include_dirs" ]
  configs += [ ":default_include_dirs" ]
}
