summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2022-11-01 19:34:30 +0300
committerMaxim Devaev <[email protected]>2022-11-01 19:34:30 +0300
commitad95e820ccdf82b3a5376c4491dedaf286bf70da (patch)
tree9040c1dd257849e6c5097a45f46d0b9a1e4f4b1d
parent7177f83bc56aae658281057d077467cbafd9e4c5 (diff)
key_required for h264
-rw-r--r--PKGBUILD2
-rw-r--r--kvmd/clients/streamer.py5
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