|
26 | 26 | SetImageAckMessage, |
27 | 27 | SetAvatarImageMessage, |
28 | 28 | ErrorMessage, |
29 | | - IceRestartMessage, |
30 | 29 | SessionIdMessage, |
31 | 30 | GenerationTickMessage, |
32 | 31 | OutgoingMessage, |
@@ -295,8 +294,6 @@ async def _handle_message(self, data: dict) -> None: |
295 | 294 | self._handle_error(message) |
296 | 295 | elif message.type == "ready": |
297 | 296 | logger.debug("Received ready signal from server") |
298 | | - elif message.type == "ice-restart": |
299 | | - await self._handle_ice_restart(message) |
300 | 297 |
|
301 | 298 | async def _handle_answer(self, sdp: str) -> None: |
302 | 299 | logger.debug("Received answer from server") |
@@ -350,67 +347,6 @@ def _handle_error(self, message: ErrorMessage) -> None: |
350 | 347 | if self._on_error: |
351 | 348 | self._on_error(error) |
352 | 349 |
|
353 | | - async def _handle_ice_restart(self, message: IceRestartMessage) -> None: |
354 | | - logger.info("Received ICE restart request from server") |
355 | | - turn_config = message.turn_config |
356 | | - # Re-setup peer connection with TURN server |
357 | | - await self._setup_peer_connection_with_turn(turn_config) |
358 | | - |
359 | | - async def _setup_peer_connection_with_turn(self, turn_config) -> None: |
360 | | - ice_servers = [ |
361 | | - RTCIceServer(urls=["stun:stun.l.google.com:19302"]), |
362 | | - RTCIceServer( |
363 | | - urls=[turn_config.server_url], |
364 | | - username=turn_config.username, |
365 | | - credential=turn_config.credential, |
366 | | - ), |
367 | | - ] |
368 | | - config = RTCConfiguration(iceServers=ice_servers) |
369 | | - |
370 | | - if self._pc: |
371 | | - await self._pc.close() |
372 | | - |
373 | | - self._pc = RTCPeerConnection(configuration=config) |
374 | | - logger.debug("Re-created peer connection with TURN server for ICE restart") |
375 | | - |
376 | | - @self._pc.on("track") |
377 | | - def on_track(track: MediaStreamTrack): |
378 | | - logger.debug(f"Received remote track: {track.kind}") |
379 | | - if self._on_remote_stream: |
380 | | - self._on_remote_stream(track) |
381 | | - |
382 | | - @self._pc.on("icecandidate") |
383 | | - async def on_ice_candidate(candidate: RTCIceCandidate): |
384 | | - if candidate: |
385 | | - logger.debug(f"Local ICE candidate: {candidate.candidate}") |
386 | | - await self._send_message( |
387 | | - IceCandidateMessage( |
388 | | - type="ice-candidate", |
389 | | - candidate=IceCandidatePayload( |
390 | | - candidate=candidate.candidate, |
391 | | - sdpMLineIndex=candidate.sdpMLineIndex or 0, |
392 | | - sdpMid=candidate.sdpMid or "", |
393 | | - ), |
394 | | - ) |
395 | | - ) |
396 | | - |
397 | | - @self._pc.on("connectionstatechange") |
398 | | - async def on_connection_state_change(): |
399 | | - logger.debug(f"Peer connection state: {self._pc.connectionState}") |
400 | | - if self._pc.connectionState == "connected": |
401 | | - await self._set_state("connected") |
402 | | - elif self._pc.connectionState in ["failed", "closed"]: |
403 | | - await self._set_state("disconnected") |
404 | | - |
405 | | - if self._local_track is None: |
406 | | - self._pc.addTransceiver("video", direction="recvonly") |
407 | | - logger.debug("Added video transceiver (recvonly) for receive-only ICE restart") |
408 | | - else: |
409 | | - self._pc.addTrack(self._local_track) |
410 | | - logger.debug("Re-added local track to peer connection for ICE restart") |
411 | | - |
412 | | - await self._create_and_send_offer() |
413 | | - |
414 | 350 | def register_image_set_wait(self) -> tuple[asyncio.Event, dict]: |
415 | 351 | event = asyncio.Event() |
416 | 352 | result: dict = {"success": False, "error": None} |
|
0 commit comments