only preload when stream is setup (#23134)

pull/23122/head
Jason Hunter 2019-04-16 01:36:57 -04:00 committed by Paulus Schoutsen
parent 8b86bf7dd2
commit e7102eaf30
1 changed files with 4 additions and 4 deletions

View File

@ -15,7 +15,7 @@ import voluptuous as vol
from homeassistant.core import callback from homeassistant.core import callback
from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, \ from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, \
SERVICE_TURN_ON, EVENT_HOMEASSISTANT_START, CONF_FILENAME SERVICE_TURN_ON, CONF_FILENAME
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.loader import bind_hass from homeassistant.loader import bind_hass
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
@ -32,6 +32,7 @@ from homeassistant.components.stream.const import (
CONF_DURATION, SERVICE_RECORD, DOMAIN as DOMAIN_STREAM) CONF_DURATION, SERVICE_RECORD, DOMAIN as DOMAIN_STREAM)
from homeassistant.components import websocket_api from homeassistant.components import websocket_api
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.setup import async_when_setup
from .const import DOMAIN, DATA_CAMERA_PREFS from .const import DOMAIN, DATA_CAMERA_PREFS
from .prefs import CameraPreferences from .prefs import CameraPreferences
@ -217,14 +218,13 @@ async def async_setup(hass, config):
await component.async_setup(config) await component.async_setup(config)
@callback async def preload_stream(hass, _):
def preload_stream(event):
for camera in component.entities: for camera in component.entities:
camera_prefs = prefs.get(camera.entity_id) camera_prefs = prefs.get(camera.entity_id)
if camera.stream_source and camera_prefs.preload_stream: if camera.stream_source and camera_prefs.preload_stream:
request_stream(hass, camera.stream_source, keepalive=True) request_stream(hass, camera.stream_source, keepalive=True)
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_START, preload_stream) async_when_setup(hass, DOMAIN_STREAM, preload_stream)
@callback @callback
def update_tokens(time): def update_tokens(time):