signalapp / ringrtc

GNU Affero General Public License v3.0
550 stars 135 forks source link

Build ringrtc aar file #41

Closed MuhammadAzamat closed 2 years ago

MuhammadAzamat commented 2 years ago

Hi there I have successful build last "make android" command But there is no *.aar file generated, Please help with this issue! Thanks!!!

MuhammadAzamat commented 2 years ago

Hi @jim-signal Can You explain all stack of ringrtc (c/c++, rust, java, bash, ...) What should I go through to fully understand the project and customize it! Thanks in advance!

jim-signal commented 2 years ago

Hi @MuhammadAzamat, if you have already run "make android" successfully, you could try this:

./bin/build-aar --install-local

It should put the aar file in your ~/.m2/org/signal directory.

RingRTC is a shared media stack meant for Signal's clients and has an internal API, so there is no public documentation for it other than the source code. In a nutshell, it wraps WebRTC with a layer created in Rust and then there is an FFI layer to each platform (iOS/Swift, Android/Java, Desktop/Typescript). A good place to start is definitely WebRTC for general media stack operation. The Rust part holds the logic for audio/video calling and you can look at the Call Manager for the 'api'. WebRTC is written in C++, so we had use a rffi layer to convert between C and C++.