Opened 8 years ago

Last modified 7 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

  1. By default, WebRtc? will always be built automatically. This automatic build can be disabled via configure script param --disable-webrtc.
  2. 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

  1. Add third-party/lib/libwebrtc-[TARGET].a to application project in XCode.

Known issues

  1. 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

  1. libwebrtc will always be built automatically.
  2. To enable libwebrtc, add this to your config_site.h:
    #define PJMEDIA_HAS_WEBRTC_AEC		1
    

Change History (0)

Note: See TracTickets for help on using tickets.