diff --git a/homeassistant/components/stream/__init__.py b/homeassistant/components/stream/__init__.py index f0b4ed9965480e..354f9a77672f37 100644 --- a/homeassistant/components/stream/__init__.py +++ b/homeassistant/components/stream/__init__.py @@ -503,15 +503,16 @@ async def async_record( await self.start() + self._logger.debug("Started a stream recording of %s seconds", duration) + # Take advantage of lookback hls: HlsStreamOutput = cast(HlsStreamOutput, self.outputs().get(HLS_PROVIDER)) - if lookback > 0 and hls: - num_segments = min(int(lookback // hls.target_duration), MAX_SEGMENTS) + if hls: + num_segments = min(int(lookback / hls.target_duration) + 1, MAX_SEGMENTS) # Wait for latest segment, then add the lookback await hls.recv() recorder.prepend(list(hls.get_segments())[-num_segments - 1 : -1]) - self._logger.debug("Started a stream recording of %s seconds", duration) await recorder.async_record() async def async_get_image(