Managing Media
WebRTC is commonly used for streaming media - and no wonder! Because of
this, I have added a special helper class for making manging media with
pools easy. The ManagedStream()
class allows you to easily set up
a stream to be sent to all peers with ease. Suppose we have a MediaStream
called stream
that we would like to stream to all peers in the pool.
This can be done with little effort:
const pool = new rtcpool.Pool({ /* TURN/STUN configuration */ }, signals);
let managed;
pool.onjoin = () => {
managed = new rtcpool.media.ManagedStream(stream, pool);
};
pool.join('my-friends');
ManagedStream()
does the rest. Any peers that join will receive the
stream. If pool already had peers when the media was added, then they also
would receive the stream as soon as it was added. And since RTCPool implements
automatic re-negotiation, we don’t even have to worry about the negotiation
process and can simply allow the process to unfold on its own.