feat: known-good CPU audio + 1080p VAAPI + KMS display wall

Working snapshot before the OpenVINO MetricGAN GPU spike:
thread-capped SpeechBrain DelaySum+MetricGAN on CPU, hop 200 ms,
video hold for A/V sync, Arc VAAPI H.264, headless kmssink wall.
32 tests passing. Do not treat this as a GPU audio path.
This commit is contained in:
root
2026-08-28 07:14:21 +00:00
parent 11776adf52
commit 736eccb932
17 changed files with 1421 additions and 46 deletions
+37
View File
@@ -18,3 +18,40 @@ def make_token(url: str, api_key: str, api_secret: str,
))
)
return token.to_jwt()
def make_speaker_token(api_key: str, api_secret: str,
room: str, identity: str = "speaker",
name: str = "") -> str:
"""Publisher token so a speaker can join and share their screen."""
token = (
AccessToken(api_key, api_secret)
.with_identity(identity)
.with_name(name or identity)
.with_grants(VideoGrants(
room_join=True,
room=room,
can_publish=True,
can_subscribe=True,
can_publish_data=True,
))
)
return token.to_jwt()
def make_viewer_token(api_key: str, api_secret: str,
room: str, identity: str) -> str:
"""Subscribe-only token for headless display clients."""
token = (
AccessToken(api_key, api_secret)
.with_identity(identity)
.with_name(identity)
.with_grants(VideoGrants(
room_join=True,
room=room,
can_publish=False,
can_subscribe=True,
can_publish_data=False,
))
)
return token.to_jwt()