id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,backport_to_milestone,backported 1954,Add WebRTC to third party component,ming,bennylp,"WebRTC AEC support is added in ticket #1888. However, building WebRTC separately has a few drawbacks: - Following the recommended steps to build WebRTC, it is required to download the entire project which is large in size (approximately 6 GB), while we actually only require a small portion of it (namely, the AEC component). - The latest version of WebRTC has some modifications which is incompatible with our implementation. Thus, we can only use the version circa October 2015 or before. This ticket will add WebRTC to the third party folder, use a specific version and include only the necessary source. Below is the steps to build and use WebRTC: == For GNU targets == 1. By default, WebRTC will always be built automatically. This automatic build can be disabled via configure script param {{{--disable-webrtc}}}. 1. if you want to use external WebRTC, specify {{{--with-external-webrtc}}} and set header/library search paths via CFLAGS and LDFLAGS environment variables. See [https://trac.pjsip.org/repos/ticket/1888#Forotherarchitectures ticket #1888] for more details as to which libraries are required. === Additional step for iOS targets === 1. Add {{{third-party/lib/libwebrtc-[TARGET].a}}} to application project in XCode. === Supported architectures for Android === 1. On Android, we successfully tested with these architectures: armeabi (armv7), armeabi-v7a, arm64-v8a, mips, mips64, x86, x86_64. == For Visual Studio == 1. libwebrtc will always be built automatically. 1. To enable WebRTC AEC, add this to your {{{config_site.h}}}: {{{ #define PJMEDIA_HAS_WEBRTC_AEC 1 }}} ",enhancement,closed,normal,release-2.6,third-party,trunk,fixed,,,,0