# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

{
  'includes': [
    '../../../../build/common.gypi',
  ],
  'targets': [
    {
      'target_name': 'webrtc_h264',
      'type': 'static_library',
      'conditions': [
        # TODO(hbos): Consider renaming this flag and the below macro to
        # something which helps distinguish OpenH264/FFmpeg from other H264
        # implementations.
        ['rtc_use_h264==1', {
          'defines': [
            'WEBRTC_USE_H264',
          ],
          'conditions': [
            ['rtc_initialize_ffmpeg==1', {
              'defines': [
                'WEBRTC_INITIALIZE_FFMPEG',
              ],
            }],
          ],
          'dependencies': [
            '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
            '<(DEPTH)/third_party/openh264/openh264.gyp:openh264_encoder',
            '<(webrtc_root)/common_video/common_video.gyp:common_video',
          ],
          'sources': [
            'h264_decoder_impl.cc',
            'h264_decoder_impl.h',
            'h264_encoder_impl.cc',
            'h264_encoder_impl.h',
          ],
        }],
      ],
      'sources': [
        'h264.cc',
        'include/h264.h',
      ],
    }, # webrtc_h264
  ],
}
