Act as stupid proxy for clients without WebRTC support
							parent
							
								
									358d4a2d25
								
							
						
					
					
						commit
						f7308bb6d0
					
				|  | @ -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 { |     fn allocate_ssrc(&mut self, session_id: SessionId) -> &mut User { | ||||||
|         let ssrc = self.free_ssrcs.pop().unwrap_or_else(|| { |         let ssrc = self.free_ssrcs.pop().unwrap_or_else(|| { | ||||||
|             let ssrc = self.next_ssrc; |             let ssrc = self.next_ssrc; | ||||||
|  | @ -341,6 +345,9 @@ impl Connection { | ||||||
|         &mut self, |         &mut self, | ||||||
|         packet: ControlPacket<Clientbound>, |         packet: ControlPacket<Clientbound>, | ||||||
|     ) -> impl Stream<Item = Frame, Error = Error> { |     ) -> impl Stream<Item = Frame, Error = Error> { | ||||||
|  |         if !self.supports_webrtc() { | ||||||
|  |             return EitherS::B(stream::once(Ok(Frame::Client(packet)))); | ||||||
|  |         } | ||||||
|         match packet { |         match packet { | ||||||
|             ControlPacket::UDPTunnel(voice) => EitherS::A(self.handle_voice_packet(*voice)), |             ControlPacket::UDPTunnel(voice) => EitherS::A(self.handle_voice_packet(*voice)), | ||||||
|             ControlPacket::UserState(mut message) => { |             ControlPacket::UserState(mut message) => { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue