Opened 8 years ago
Last modified 8 years ago
#1954 closed enhancement
Add webrtc to third party component — at Initial Version
Reported by: | ming | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-2.6 |
Component: | third-party | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: | no |
Description
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.
Known issues
- WebRtc? cannot be built for Android mips64 (we successfully tested with other architectures: armeabi (armv7), armeabi-v7a, arm64-v8a, mips, x86, x86_64).
For Visual Studio
- libwebrtc will always be built automatically.
- To enable libwebrtc, add this to your config_site.h:
#define PJMEDIA_HAS_WEBRTC_AEC 1
Note: See
TracTickets for help on using
tickets.