4 ms·
It certainly would be nice! Having a common layer for signaling (whether Rust or C++), which could be used across client SDKs is something we're evaluating. You
by russ 4y ago
It certainly would be nice! Having a common layer for signaling (whether Rust or C++), which could be used across client SDKs is something we're evaluating. You'd still need a (albeit thinner) platform-specific SDK for the final interface and to abstract away any quirks.
- mwcampbell 4y agoI'd recommend Rust for your shared client core, even though for short-term practicality you probably have to keep using Google's C++ WebRTC library, because translating your existing high-level client code to safe Rust would be easier than translating it to reasonably safe C++. If you're interested in pursuing this, the best starting point I've found for using the WebRTC C++ library from Rust is this: https://github.com/arcas-io/libwebrtc https://github.com/arcas-io/libwebrtc So far it looks like it only works on Linux and Mac.
- russ 4y agoThanks for the pointer to that project, we'll take a look. =) On your recommendation of Rust over C++, is the thought to deal with the double-bridging (platform-sdk => rust => libwebrtc) until webrtc.rs gets to a point where libwebrtc can be swapped out?
- mwcampbell 4y agoYeah, I'd do double-bridging for now. The Rust/C++ bridging is pretty low-overhead IIUC, but getting it all to build and link together is probably a pain.
- davidz 4y agoArcas is fantastic! They are doing some really great work with WebRTC.
- nerdyadventurer 4y agoIf you did not know, there is also https://github.com/signalapp/ringrtc https://github.com/signalapp/ringrtc by the Signal App team, which is written in Rust