From 4bd68db9ff35709e98aca98878299fbbc7c5a4cf Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Wed, 30 Oct 2024 00:52:05 -0700 Subject: [PATCH] Update WebRTC provider documentation to reference new APIs (#2410) --- docs/core/entity/camera.md | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/docs/core/entity/camera.md b/docs/core/entity/camera.md index f6481f93..0d6bc321 100644 --- a/docs/core/entity/camera.md +++ b/docs/core/entity/camera.md @@ -104,23 +104,10 @@ class MyCamera(Camera): """Handle the WebRTC offer and return an answer.""" ``` -### RTSP to WebRTC +### WebRTC Providers -An integration may provide a WebRTC stream for any RTSP camera using `async_register_rtsp_to_web_rtc_provider`. The current best practice is for an integration to provide the actual stream manipulation with an Add-on or external service. - -```python -async def handle_offer(stream_source: str, offer_sdp: str) -> str: - """Handle the signal path for a WebRTC stream and return an answer.""" - try: - return await client.offer(offer_sdp, stream_source) - except ClientError as err: - raise HomeAssistantError from err - -# Call unsub() when integration unloads -unsub = camera.async_register_rtsp_to_web_rtc_provider( - hass, DOMAIN, handle_offer -) -``` +An integration may provide a WebRTC stream from an existing camera's stream source using the libraries in `homeassistant.components.camera.webrtc`. An +integration may implement `CameraWebRTCProvider` and register it with `async_register_webrtc_provider`. ### Turn on