From 4064406d207aab99269132f76c4b45e61ceed0f8 Mon Sep 17 00:00:00 2001 From: Jos Vooges | STH Date: Sat, 19 Sep 2026 15:51:12 +0200 Subject: [PATCH] Move ResumeOnce out of closure for Swift compile. --- apps/ios/VMC/Playback/ClearKeyDashProxy.swift | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/apps/ios/VMC/Playback/ClearKeyDashProxy.swift b/apps/ios/VMC/Playback/ClearKeyDashProxy.swift index 4a98a94..6731df3 100644 --- a/apps/ios/VMC/Playback/ClearKeyDashProxy.swift +++ b/apps/ios/VMC/Playback/ClearKeyDashProxy.swift @@ -4,6 +4,18 @@ import os.log private let proxyLog = Logger(subsystem: "nl.vonas.mediacluster.ios", category: "ClearKeyProxy") +private final class ResumeOnce: @unchecked Sendable { + private var done = false + private let lock = NSLock() + func run(_ body: () -> Void) { + lock.lock() + defer { lock.unlock() } + guard !done else { return } + done = true + body() + } +} + /// Lokale HTTP-proxy: haalt DASH MPD/segmenten op, strip DRM-metadata, decrypt CENC met ClearKey. /// VLC speelt daarna plain DASH vanaf 127.0.0.1. final class ClearKeyDashProxy { @@ -45,17 +57,6 @@ final class ClearKeyDashProxy { self.cryptoState = CencMp4Decryptor.SessionState() self.generation += 1 - final class ResumeOnce: @unchecked Sendable { - private var done = false - private let lock = NSLock() - func run(_ body: () -> Void) { - lock.lock() - defer { lock.unlock() } - guard !done else { return } - done = true - body() - } - } let once = ResumeOnce() do {