All Projects → threema-ch → webrtc-android

threema-ch / webrtc-android

Licence: Apache-2.0 and 2 other licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT Unknown LICENSE-THIRD-PARTY
WebRTC builds for Android

Programming Languages

shell
77523 projects
java
68154 projects - #9 most used programming language

WebRTC Build for Android

License

This is a WebRTC build with Java bindings packaged for Android.

⚠️ This build of WebRTC contains patches specific to Threema. We offer no support for this package outside of Threema.

Installing

This package is available on Maven Central (starting with version 91.0.1). It includes the WebRTC PeerConnection build for ARM and x86, both 32 and 64 bit builds.

Gradle:

compile 'ch.threema:webrtc-android:100.0.0'

Maven:

<dependency>
  <groupId>ch.threema</groupId>
  <artifactId>webrtc-android</artifactId>
  <version>100.0.0</version>
  <type>pom</type>
</dependency>

Target Commits

These are the target commits for the releases:

The builds are created using webrtc-build-docker.

Patches / Build config

v100.0.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

 5934 2022-04-07 04:42 patches/disable-dtmf-and-comfort-noise.patch
16331 2022-04-07 04:42 patches/disable-unused-audio-codecs.patch
  815 2022-04-06 13:45 patches/dont-leak-video-orientation.patch
  687 2022-04-07 04:42 patches/dtls-cipher-suites.patch
  818 2022-04-06 13:45 patches/enable-cbr-by-default.patch
 8831 2022-04-06 13:45 patches/expose-crypto-option-aes-128-sha1-80.patch
 3628 2022-04-06 13:45 patches/expose-video-capturer-state.patch
 1750 2022-04-06 13:45 patches/force-dtls-1_2.patch
 2453 2022-04-06 13:45 patches/only-resolve-uuid-mdns-hostnames.patch
 2574 2022-04-06 13:45 patches/srtp-cipher-suites.patch

v94.0.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

 5162 2021-04-09 13:22 patches/disable-dtmf-and-comfort-noise.patch
15479 2021-04-09 13:00 patches/disable-unused-audio-codecs.patch
  815 2021-04-09 13:00 patches/dont-leak-video-orientation.patch
  743 2021-04-09 13:00 patches/dtls-cipher-suites.patch
  818 2021-04-09 13:00 patches/enable-cbr-by-default.patch
 8831 2021-04-09 13:00 patches/expose-crypto-option-aes-128-sha1-80.patch
 3628 2021-04-09 13:00 patches/expose-video-capturer-state.patch
 1750 2021-04-09 13:00 patches/force-dtls-1_2.patch
 2453 2021-10-04 09:20 patches/only-resolve-uuid-mdns-hostnames.patch
 2574 2021-10-04 09:31 patches/srtp-cipher-suites.patch
 2156 2021-10-04 09:48 patches/unreachable-code-warnings.patch

v91.0.1 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

Like v91.0.0, but packaging was upgraded to Gradle 6.8 and the maven-publish plugin. Starting with this release, the library will only be published to Maven Central.

v91.0.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

 5162 2021-04-09 13:22 patches/disable-dtmf-and-comfort-noise.patch
15479 2021-04-09 13:00 patches/disable-unused-audio-codecs.patch
  815 2021-04-09 13:00 patches/dont-leak-video-orientation.patch
  743 2021-04-09 13:00 patches/dtls-cipher-suites.patch
  818 2021-04-09 13:00 patches/enable-cbr-by-default.patch
 8831 2021-04-09 13:00 patches/expose-crypto-option-aes-128-sha1-80.patch
 3628 2021-04-09 13:00 patches/expose-video-capturer-state.patch
49010 2021-04-09 13:00 patches/fix-rtp-header-extension-encryption.patch
 1750 2021-04-09 13:00 patches/force-dtls-1_2.patch
 2439 2021-04-09 13:00 patches/only-resolve-uuid-mdns-hostnames.patch
 2615 2021-04-09 13:00 patches/srtp-cipher-suites.patch

v84.2.1 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

Like v84.2.0, but released to Maven Central for easier backwards compatibility.

v84.2.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

Like v84.1.0, but with the following additional patch:

3636 Nov 10 16:37 patches/expose-video-capturer-state.patch

v84.1.1 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

Like v84.1.0, but based on commit 963cc1ef1336b52ca27742beb28bfbc211ed54d0.

v84.1.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

Like v84.0.0, but with the following additional patch:

12394 Jun 22 15:23 patches/fix-data-channel-message-integrity.patch

v84.0.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

 3603 May 26 13:53 patches/disable-dtmf-and-comfort-noise.patch
15479 May 26 13:53 patches/disable-unused-audio-codecs.patch
  815 May 26 13:53 patches/dont-leak-video-orientation.patch
  743 May  7 15:55 patches/dtls-cipher-suites.patch
  818 May 26 13:53 patches/enable-cbr-by-default.patch
 8831 Jun 15 15:18 patches/expose-crypto-option-aes-128-sha1-80.patch
 4718 Jun 15 15:17 patches/expose-offer-extmap-allow-mixed.patch
34276 May 26 13:53 patches/fix-rtp-header-extension-encryption.patch
 1750 May 26 13:53 patches/force-dtls-1_2.patch
  614 May 26 16:02 patches/libsrtp-two-byte-rtp-header-extension-crypto.patch
 2439 May 26 13:53 patches/only-resolve-uuid-mdns-hostnames.patch
 2615 May 28 10:26 patches/srtp-cipher-suites.patch

v83.1.1 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

3.6K May 26 13:53 patches/disable-dtmf-and-comfort-noise.patch
 16K May 26 13:53 patches/disable-unused-audio-codecs.patch
 815 May 26 13:53 patches/dont-leak-video-orientation.patch
 743 May  7 15:55 patches/dtls-cipher-suites.patch
 818 May 26 13:53 patches/enable-cbr-by-default.patch
5.0K May  7 15:55 patches/expose-crypto-option-aes-128-sha1-80.patch
2.3K May  7 15:55 patches/expose-offer-extmap-allow-mixed.patch
 34K May 26 13:53 patches/fix-rtp-header-extension-encryption.patch
1.8K May 26 13:53 patches/force-dtls-1_2.patch
 614 May 26 16:02 patches/libsrtp-two-byte-rtp-header-extension-crypto.patch
 864 May 26 15:39 patches/objc-rtcstats-export.patch
2.4K May 26 13:53 patches/only-resolve-uuid-mdns-hostnames.patch
2.6K May 28 10:26 patches/srtp-cipher-suites.patch

v83.1.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false):

3.6K May 26 13:53 patches/disable-dtmf-and-comfort-noise.patch
 16K May 26 13:53 patches/disable-unused-audio-codecs.patch
 815 May 26 13:53 patches/dont-leak-video-orientation.patch
 743 May  7 15:55 patches/dtls-cipher-suites.patch
 818 May 26 13:53 patches/enable-cbr-by-default.patch
5.0K May  7 15:55 patches/expose-crypto-option-aes-128-sha1-80.patch
2.3K May  7 15:55 patches/expose-offer-extmap-allow-mixed.patch
 34K May 26 13:53 patches/fix-rtp-header-extension-encryption.patch
1.8K May 26 13:53 patches/force-dtls-1_2.patch
 614 May 26 16:02 patches/libsrtp-two-byte-rtp-header-extension-crypto.patch
 864 May 26 15:39 patches/objc-rtcstats-export.patch
2.4K May 26 13:53 patches/only-resolve-uuid-mdns-hostnames.patch
 817 May 13 10:23 patches/srtp-cipher-suites.patch

v83.0.0 (WEBRTC_COMPILE_ARGS: symbol_level=1)

  • dtls-cipher-suites.patch
  • expose-crypto-option-aes-128-sha1-80.patch
  • expose-offer-extmap-allow-mixed.patch
  • srtp-cipher-suites.patch

v81.1.0 (WEBRTC_COMPILE_ARGS: symbol_level=1 enable_libaom=false)

12392 Jun 23 09:01 patches/fix-data-channel-message-integrity.patch
 8201 Jun 23 09:01 patches/fix-sctp-pointer-leak.patch

Signatures

Releases to Maven Central are signed with the following PGP key:

pub   rsa4096 2016-09-06 [SC] [expires: 2026-09-04]
      E7AD D991 4E26 0E8B 35DF  B506 65FD E935 573A CDA6
uid           Threema Signing Key <[email protected]>

Local testing

Create a local publication (usually at $HOME/.m2/repository/):

./gradlew publishToMavenLocal

Include it in your project like this:

repositories {
    ...
    mavenLocal()
}

License

Copyright (c) 2019-2022 Threema GmbH

Licensed under the Apache License, Version 2.0, <see LICENSE-APACHE file>
or the MIT license <see LICENSE-MIT file>, at your option. This file may not be
copied, modified, or distributed except according to those terms.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].