Index: webrtc/build/common.gypi |
diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi |
index dfa52f2cbdde71ec50fd67d43dee5c7e4ef9d7f8..e467bac42231e5bc08a403ff46e2ec69fe17daa1 100644 |
--- a/webrtc/build/common.gypi |
+++ b/webrtc/build/common.gypi |
@@ -120,9 +120,20 @@ |
'build_with_neon%': 0, |
# Enable this to use HW H.264 encoder/decoder on iOS/Mac PeerConnections. |
- # Enabling this may break interop with Android clients that support H264. |
+ # Enabling this may break interop with Android clients that support H.264. |
'use_objc_h264%': 0, |
+ # Enable this to build H.264 encoder/decoder using third party libraries. |
+ # Encoding uses OpenH264 and decoding uses FFmpeg. Because of this, OpenH264 |
+ # and FFmpeg have to be correctly enabled separately. |
+ # - 'use_openh264=1' is required for OpenH264 targets to be defined. |
+ # - 'ffmpeg_branding=Chrome' is one way to support H.264 decoding in FFmpeg. |
+ # FFmpeg can be built with/without H.264 support, see 'ffmpeg_branding'. |
+ # Without it, it compiles but H264DecoderImpl fails to initialize. |
+ # CHECK THE OPENH264, FFMPEG AND H.264 LICENSES/PATENTS BEFORE BUILDING. |
+ # http://www.openh264.org, https://www.ffmpeg.org/ |
+ 'use_third_party_h264%': 0, |
+ |
'conditions': [ |
['build_with_chromium==1', { |
# Exclude pulse audio on Chromium since its prerequisites don't require |
@@ -335,6 +346,11 @@ |
'WEBRTC_OBJC_H264', |
], |
}], |
+ ['use_third_party_h264==1', { |
+ 'defines': [ |
+ 'WEBRTC_THIRD_PARTY_H264', |
+ ], |
+ }], |
['OS=="linux"', { |
'defines': [ |
'WEBRTC_LINUX', |