From f7308bb6d0ed001d12afcaf0812ca33339dc6c94 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Mon, 11 Feb 2019 20:23:07 +0100 Subject: [PATCH] Act as stupid proxy for clients without WebRTC support --- src/connection.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/connection.rs b/src/connection.rs index c245509..5be9b0f 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -162,6 +162,10 @@ impl Connection { } } + fn supports_webrtc(&self) -> bool { + self.ice.is_some() + } + fn allocate_ssrc(&mut self, session_id: SessionId) -> &mut User { let ssrc = self.free_ssrcs.pop().unwrap_or_else(|| { let ssrc = self.next_ssrc; @@ -341,6 +345,9 @@ impl Connection { &mut self, packet: ControlPacket, ) -> impl Stream { + if !self.supports_webrtc() { + return EitherS::B(stream::once(Ok(Frame::Client(packet)))); + } match packet { ControlPacket::UDPTunnel(voice) => EitherS::A(self.handle_voice_packet(*voice)), ControlPacket::UserState(mut message) => {