blob: 92489c39665d01ca9832761fc76a2c2fb00dac21 [file] [log] [blame]
# 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': [
['OS=="ios"', {
'dependencies': [
'webrtc_h264_video_toolbox',
],
'sources': [
'h264_objc.mm',
],
}],
# 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
],
'conditions': [
['OS=="ios"', {
'targets': [
{
'target_name': 'webrtc_h264_video_toolbox',
'type': 'static_library',
'includes': [ '../../../../build/objc_common.gypi' ],
'dependencies': [
'<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
],
'link_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework CoreFoundation',
'-framework CoreMedia',
'-framework CoreVideo',
'-framework VideoToolbox',
],
},
},
'sources': [
'h264_video_toolbox_decoder.cc',
'h264_video_toolbox_decoder.h',
'h264_video_toolbox_encoder.cc',
'h264_video_toolbox_encoder.h',
'h264_video_toolbox_nalu.cc',
'h264_video_toolbox_nalu.h',
],
'conditions': [
['build_libyuv==1', {
'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv'],
}],
],
}, # webrtc_h264_video_toolbox
], # targets
}], # OS=="ios"
], # conditions
}