Round up for stream record lookback (#75580)

This commit is contained in:
uvjustin 2022-07-22 11:46:00 +08:00 committed by GitHub
parent 06115bcbff
commit a612d7a0f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -503,15 +503,16 @@ class Stream:
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(