import atexit
import datetime
import logging
-import time
import pychromecast
or (now - BaseChromecast.refresh_ts).total_seconds() > 60
):
logger.debug('Refreshing the shared chromecast info list')
- BaseChromecast.ccasts, BaseChromecast.browser = pychromecast.get_chromecasts()
+ if BaseChromecast.browser is not None:
+ BaseChromecast.browser.stop_discovery()
+ BaseChromecast.ccasts, BaseChromecast.browser = pychromecast.get_chromecasts(
+ timeout=10.0
+ )
atexit.register(BaseChromecast.browser.stop_discovery)
BaseChromecast.refresh_ts = now
if cc.cast_info.host == ip:
logger.debug(f'Found chromecast at {ip}: {cc}')
self.cast = cc
- self.cast.wait()
- time.sleep(0.1)
+ self.cast.wait(timeout=1.0)
if self.cast is None:
raise Exception(f'Can\'t find ccast device at {ip}, is that really a ccast device?')