Skip to content

Switch from webrtc-rs to str0m #3659

@thomaseizinger

Description

@thomaseizinger

Description

The webrtc-rs implementation has a few fundamental issues due to its design. async callbacks require locks and prevent the idiomatic use of &mut. This results in problems such as webrtc-rs/webrtc#413 which currently prevent us from upgrading to the latest version: #3552

The new kid on the block is str0m, a sans IO implementation of the webrtc stack: https://github.com/algesten/str0m

In the tests, it looks like they already support data channels, meaning we might be able to replace webrtc with it.

Motivation

  • webrtc is an extremely heavy dependency and it bloats our dependency tree
  • It doesn't follow idiomatic Rust and was hard to integrate into our codebase
  • From the above follows: Easier maintenance
  • A production-grade webrtc implementation

Related issues:

Are you planning to do it yourself in a pull request?

No.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions