Ticket #1954 (closed enhancement: fixed)
Add WebRTC to third party component
|Reported by:||ming||Owned by:||bennylp|
|Backport to 1.x milestone:||Backported:||no|
Description (last modified by ming) (diff)
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
- By default, WebRTC will always be built automatically. This automatic build can be disabled via configure script param --disable-webrtc.
- if you want to use external WebRTC, specify --with-external-webrtc and set header/library search paths via CFLAGS and LDFLAGS environment variables. See ticket #1888 for more details as to which libraries are required.
Additional step for iOS targets
- Add third-party/lib/libwebrtc-[TARGET].a to application project in XCode.
Supported architectures for Android
- On Android, we successfully tested with these architectures: armeabi (armv7), armeabi-v7a, arm64-v8a, mips, mips64, x86, x86_64.
For Visual Studio
- libwebrtc will always be built automatically.
- To enable WebRTC AEC, add this to your config_site.h:
#define PJMEDIA_HAS_WEBRTC_AEC 1
- Description modified (diff)
- Summary changed from Add webrtc to third party component to Add WebRTC to third party component