Update SmallWebRTCTransport to pass a sender ID in the "on_app_message" event
This commit is contained in:
@@ -66,7 +66,7 @@ class SmallWebRTCCallbacks(BaseModel):
|
|||||||
on_client_disconnected: Called when a client disconnects.
|
on_client_disconnected: Called when a client disconnects.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
on_app_message: Callable[[Any], Awaitable[None]]
|
on_app_message: Callable[[Any, str], Awaitable[None]]
|
||||||
on_client_connected: Callable[[SmallWebRTCConnection], Awaitable[None]]
|
on_client_connected: Callable[[SmallWebRTCConnection], Awaitable[None]]
|
||||||
on_client_disconnected: Callable[[SmallWebRTCConnection], Awaitable[None]]
|
on_client_disconnected: Callable[[SmallWebRTCConnection], Awaitable[None]]
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@ class SmallWebRTCClient:
|
|||||||
|
|
||||||
@self._webrtc_connection.event_handler("app-message")
|
@self._webrtc_connection.event_handler("app-message")
|
||||||
async def on_app_message(connection: SmallWebRTCConnection, message: Any):
|
async def on_app_message(connection: SmallWebRTCConnection, message: Any):
|
||||||
await self._handle_app_message(message)
|
await self._handle_app_message(message, connection.pc_id)
|
||||||
|
|
||||||
def _convert_frame(self, frame_array: np.ndarray, format_name: str) -> np.ndarray:
|
def _convert_frame(self, frame_array: np.ndarray, format_name: str) -> np.ndarray:
|
||||||
"""Convert a video frame to RGB format based on the input format.
|
"""Convert a video frame to RGB format based on the input format.
|
||||||
@@ -512,9 +512,9 @@ class SmallWebRTCClient:
|
|||||||
if not self._closing:
|
if not self._closing:
|
||||||
await self._callbacks.on_client_disconnected(self._webrtc_connection)
|
await self._callbacks.on_client_disconnected(self._webrtc_connection)
|
||||||
|
|
||||||
async def _handle_app_message(self, message: Any):
|
async def _handle_app_message(self, message: Any, sender: str):
|
||||||
"""Handle incoming application messages."""
|
"""Handle incoming application messages."""
|
||||||
await self._callbacks.on_app_message(message)
|
await self._callbacks.on_app_message(message, sender)
|
||||||
|
|
||||||
def _can_send(self):
|
def _can_send(self):
|
||||||
"""Check if the connection is ready for sending data."""
|
"""Check if the connection is ready for sending data."""
|
||||||
@@ -935,11 +935,11 @@ class SmallWebRTCTransport(BaseTransport):
|
|||||||
if self._output:
|
if self._output:
|
||||||
await self._output.queue_frame(frame, FrameDirection.DOWNSTREAM)
|
await self._output.queue_frame(frame, FrameDirection.DOWNSTREAM)
|
||||||
|
|
||||||
async def _on_app_message(self, message: Any):
|
async def _on_app_message(self, message: Any, sender: str):
|
||||||
"""Handle incoming application messages."""
|
"""Handle incoming application messages."""
|
||||||
if self._input:
|
if self._input:
|
||||||
await self._input.push_app_message(message)
|
await self._input.push_app_message(message)
|
||||||
await self._call_event_handler("on_app_message", message, "")
|
await self._call_event_handler("on_app_message", message, sender)
|
||||||
|
|
||||||
async def _on_client_connected(self, webrtc_connection):
|
async def _on_client_connected(self, webrtc_connection):
|
||||||
"""Handle client connection events."""
|
"""Handle client connection events."""
|
||||||
|
|||||||
Reference in New Issue
Block a user