From ad95e820ccdf82b3a5376c4491dedaf286bf70da Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Tue, 1 Nov 2022 19:34:30 +0300 Subject: [PATCH] key_required for h264 --- PKGBUILD | 2 +- kvmd/clients/streamer.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index ec04be54..7f33f8de 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -78,7 +78,7 @@ depends=( "janus-gateway-pikvm>=0.11.2-7" certbot platform-io-access - "ustreamer>=5.8" + "ustreamer>=5.26" # Systemd UDEV bug "systemd>=248.3-2" diff --git a/kvmd/clients/streamer.py b/kvmd/clients/streamer.py index f26fed1e..b9847679 100644 --- a/kvmd/clients/streamer.py +++ b/kvmd/clients/streamer.py @@ -176,10 +176,13 @@ class MemsinkStreamerClient(BaseStreamerClient): raise StreamerPermError("Missing ustreamer library") try: with ustreamer.Memsink(**self.__kwargs) as sink: + key_required = (self.__fmt == StreamFormats.H264) while True: - frame = await aiotools.run_async(sink.wait_frame) + frame = await aiotools.run_async(sink.wait_frame, key_required) if frame is not None: self.__check_format(frame["format"]) + if frame["key"]: + key_required = False yield frame except StreamerPermError: raise