mirror of
https://github.com/home-assistant/core.git
synced 2025-07-09 06:17:07 +00:00
Convert async_get_webrtc_client_configuration to a callback (#129329)
This commit is contained in:
parent
675ee8e813
commit
aa855e31c8
@ -803,14 +803,16 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|||||||
|
|
||||||
return await fn(self.hass, self)
|
return await fn(self.hass, self)
|
||||||
|
|
||||||
async def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration:
|
@callback
|
||||||
|
def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration:
|
||||||
"""Return the WebRTC client configuration adjustable per integration."""
|
"""Return the WebRTC client configuration adjustable per integration."""
|
||||||
return WebRTCClientConfiguration()
|
return WebRTCClientConfiguration()
|
||||||
|
|
||||||
@final
|
@final
|
||||||
async def async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration:
|
@callback
|
||||||
|
def async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration:
|
||||||
"""Return the WebRTC client configuration and extend it with the registered ice servers."""
|
"""Return the WebRTC client configuration and extend it with the registered ice servers."""
|
||||||
config = await self._async_get_webrtc_client_configuration()
|
config = self._async_get_webrtc_client_configuration()
|
||||||
|
|
||||||
ice_servers = [
|
ice_servers = [
|
||||||
server
|
server
|
||||||
|
@ -287,7 +287,7 @@ async def ws_get_client_config(
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
config = (await camera.async_get_webrtc_client_configuration()).to_frontend_dict()
|
config = camera.async_get_webrtc_client_configuration().to_frontend_dict()
|
||||||
connection.send_result(
|
connection.send_result(
|
||||||
msg["id"],
|
msg["id"],
|
||||||
config,
|
config,
|
||||||
|
@ -28,7 +28,7 @@ from homeassistant.components.camera import (
|
|||||||
)
|
)
|
||||||
from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME
|
from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.event import async_track_point_in_utc_time
|
from homeassistant.helpers.event import async_track_point_in_utc_time
|
||||||
@ -216,6 +216,7 @@ class NestCamera(Camera):
|
|||||||
raise HomeAssistantError(f"Nest API error: {err}") from err
|
raise HomeAssistantError(f"Nest API error: {err}") from err
|
||||||
return stream.answer_sdp
|
return stream.answer_sdp
|
||||||
|
|
||||||
async def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration:
|
@callback
|
||||||
|
def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration:
|
||||||
"""Return the WebRTC client configuration adjustable per integration."""
|
"""Return the WebRTC client configuration adjustable per integration."""
|
||||||
return WebRTCClientConfiguration(data_channel="dataSendChannel")
|
return WebRTCClientConfiguration(data_channel="dataSendChannel")
|
||||||
|
@ -250,7 +250,7 @@ async def test_async_register_ice_server(
|
|||||||
assert not called
|
assert not called
|
||||||
|
|
||||||
camera = get_camera_from_entity_id(hass, "camera.demo_camera")
|
camera = get_camera_from_entity_id(hass, "camera.demo_camera")
|
||||||
config = await camera.async_get_webrtc_client_configuration()
|
config = camera.async_get_webrtc_client_configuration()
|
||||||
|
|
||||||
assert config.configuration.ice_servers == [
|
assert config.configuration.ice_servers == [
|
||||||
RTCIceServer(urls="stun:example.com"),
|
RTCIceServer(urls="stun:example.com"),
|
||||||
@ -275,7 +275,7 @@ async def test_async_register_ice_server(
|
|||||||
|
|
||||||
unregister_2 = async_register_ice_servers(hass, get_ice_servers_2)
|
unregister_2 = async_register_ice_servers(hass, get_ice_servers_2)
|
||||||
|
|
||||||
config = await camera.async_get_webrtc_client_configuration()
|
config = camera.async_get_webrtc_client_configuration()
|
||||||
assert config.configuration.ice_servers == [
|
assert config.configuration.ice_servers == [
|
||||||
RTCIceServer(urls="stun:example.com"),
|
RTCIceServer(urls="stun:example.com"),
|
||||||
RTCIceServer(urls="turn:example.com"),
|
RTCIceServer(urls="turn:example.com"),
|
||||||
@ -292,7 +292,7 @@ async def test_async_register_ice_server(
|
|||||||
|
|
||||||
unregister()
|
unregister()
|
||||||
|
|
||||||
config = await camera.async_get_webrtc_client_configuration()
|
config = camera.async_get_webrtc_client_configuration()
|
||||||
assert config.configuration.ice_servers == [
|
assert config.configuration.ice_servers == [
|
||||||
RTCIceServer(
|
RTCIceServer(
|
||||||
urls=["stun:example2.com", "turn:example2.com"],
|
urls=["stun:example2.com", "turn:example2.com"],
|
||||||
@ -306,7 +306,7 @@ async def test_async_register_ice_server(
|
|||||||
# unregister the second ICE server
|
# unregister the second ICE server
|
||||||
unregister_2()
|
unregister_2()
|
||||||
|
|
||||||
config = await camera.async_get_webrtc_client_configuration()
|
config = camera.async_get_webrtc_client_configuration()
|
||||||
assert config.configuration.ice_servers == []
|
assert config.configuration.ice_servers == []
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user