Skip to content

France-en-Ligne/webrtc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54,103 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Twinlife notes

This repository contains a modified version of WebRTC available at https://webrtc.googlesource.com/src and used by twinme and Skred private messaging applications. Follow the build instructions if you want to compile this project.

The changes that you will find here have a very long history, thanks to Christian Jacquemot how initiated the project in 2014. Since the beginning, our changes have been made in several git repositories that were synchronized with the numerous git repositories used by the WebRTC project. Our changes can be identified by --twinlife-- comments. In addition to changes in WebRTC source code, our build integrates the sqlcipher and libwebsockets components that we are using for our applications.

We have made the following improvements and fixes for us:

  • 2025-12-23: avoid a call to getsocketname() before each sendto() when sending UDP packets
  • 2025-10-30: update and cleanup build for Android and iOS using the same branch
  • 2025-08-29: for 32-bit version use 16K alignment (tested OK on a 32-bit device).
  • 2025-08-29: add ISRG Root X1 and ISG Root X2 in the ssl_roots.h certificate list.
  • 2025-03-24: fixed data channel send method returns true when the message exceeds the limit (see https://issues.webrtc.org/issues/406012421)
  • 2025-01-27: disable legacy GetStats(), disable AEC dump from compilation to reduce library size
  • 2025-01-22: removed deprecated onAddStream(), onRemoveStream(), createLocalMediaStream()...
  • 2025-01-21: remove deprecated initializeFieldTrials()
  • 2024-06-11: added our CryptoBox and CrypoKey APIs
  • 2023-07-11: provide hostname resolution in the peer connection factory (no DNS requests when using TURN)
  • 2023-09-14: ignore IPv6 site local address (used by DuckDuckGo on Android) (see https://issues.webrtc.org/issues/42225831)
  • 2023-09-12: restrict the ciphers for SSL and force TLS 1.3
  • 2023-04-04: don't build the fake encoder/decoder (reduce library size)
  • 2022-10-24: don't create the low_priority worker queue (not used for us).
  • 2022-04-13: disable DTMF sender as per Threema improvement.
  • 2022-04-13: don't include G711 and G722 because we don't use them
  • 2020-01-29: fix multiple TCP port allocation with same configuration for a same peer connection (See https://issues.webrtc.org/issues/42221421)
  • 2016-11-18: added zoom support in the Camera API for Android and iOS

Debugging gn

Useful commands to try understand why the complex gn build environment fails:

  • List available configuration parameters:
    gn args --list out-64/Release
    
  • Find references of a component:
    gn refs out-64/Release //third_party/libaom
    

Development

See here for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info

About

WebRTC library for twinme & Skred

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 92.9%
  • Java 2.2%
  • Objective-C++ 1.6%
  • C 1.3%
  • Python 1.0%
  • Objective-C 0.8%
  • Other 0.2%