Move ResumeOnce out of closure for Swift compile.
This commit is contained in:
parent
77ddc8b6a3
commit
4064406d20
1 changed files with 12 additions and 11 deletions
|
|
@ -4,6 +4,18 @@ import os.log
|
||||||
|
|
||||||
private let proxyLog = Logger(subsystem: "nl.vonas.mediacluster.ios", category: "ClearKeyProxy")
|
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.
|
/// 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.
|
/// VLC speelt daarna plain DASH vanaf 127.0.0.1.
|
||||||
final class ClearKeyDashProxy {
|
final class ClearKeyDashProxy {
|
||||||
|
|
@ -45,17 +57,6 @@ final class ClearKeyDashProxy {
|
||||||
self.cryptoState = CencMp4Decryptor.SessionState()
|
self.cryptoState = CencMp4Decryptor.SessionState()
|
||||||
self.generation += 1
|
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()
|
let once = ResumeOnce()
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue