Skip to content

v4.1.0-beta1

@jeremija jeremija tagged this 05 Apr 15:02
I'm really happy to anounce this _huge_ change. This is a big milestone
for Peer Calls!

- Updated to pion/webrtc/v3, which adds the following changes:

  - RTCP: Sender and Receiver reports. This should have a big impact on
    A/V sync, but I haven't had the time to fully test it yet.

  - RTCP: NACK generation and responding (this was previously
    implemented, but having it done in Pion simplified the code).

  - Removes the need to worry about the payload type.

- Refactor TracksManager into smaller components: PeersManager and pubsub
  package. The pubsub package contains methods for publishing and
  subscribing to tracks and generates events as soon as new track is
  received. It allows clients to find out about a track without
  necessarily subscribing to it.

- Add experimental server-to-server transport over a single UDP port.
  This took over nine months to implement. It allows peers connected to
  different peer calls SFU nodes to subscribe to each other's tracks.

  Eventually, this will allow:

  - Peers to connect to the nearest server and still be able to
    communicate to peers in different parts of the world.

  - Auto-discovery of Peer Calls nodes; currently node list must be
    hardcoded on stratup.

  Note that the server-to-server transport is currently _not encrypted_,
  so use of VPN is advised.

  Redis is still required for keeping track of users in the rooms across
  instances, but that might change in the future.

- Fix broken support for insertable streams in newer versions of Chrome.

- The `peer-calls` binary now has subcommands, but will default to the
  `server` command when invoked without a command name to keep backwards
  compabitility.

- Add experimental `peer-calls play` command which can broadcast RTP
  streams to a live Peer Calls node.

If you find any bugs, please let me know opening an issue on
https://github.com/peer-calls/peer-calls.
Assets 2
Loading