diff --git a/Packages/FlixyKit/Sources/FlixyProbe/main.swift b/Packages/FlixyKit/Sources/FlixyProbe/main.swift index c0be70e..d0fab80 100644 --- a/Packages/FlixyKit/Sources/FlixyProbe/main.swift +++ b/Packages/FlixyKit/Sources/FlixyProbe/main.swift @@ -163,12 +163,26 @@ if CommandLine.arguments.contains("--leiter") { } print("Leiter-Probe mit: \(movie.title)\n") + // **Zwei getrennte Sitzungen, und das ist der Kern des Vergleichs.** + // + // `askingForLadder()` behält die Sitzungskennung bei — richtig für die + // App, weil sonst beim Aufräumen ein Transcoder stehen bliebe. Für eine + // Gegenüberstellung ist es tödlich: die zweite Anfrage bekommt dann die + // laufende Sitzung der ersten zurück, die Antwort ist zwangsläufig + // identisch, und man hält das für ein Ergebnis. Genau das ist hier + // passiert. let ohne = TranscodeRequest( ratingKey: movie.ratingKey, maximumBitrate: 8_000, isLocal: connection.local ) - let mit = ohne.askingForLadder() + let mit = TranscodeRequest( + ratingKey: movie.ratingKey, + maximumBitrate: 8_000, + isLocal: connection.local, + adaptive: true + ) + print("Sitzungen: \(ohne.sessionIdentifier.prefix(8)) / \(mit.sessionIdentifier.prefix(8))\n") for (name, anfrage) in [("ohne autoAdjustQuality", ohne), ("mit autoAdjustQuality=1", mit)] { print("=== \(name) ===") @@ -180,9 +194,10 @@ if CommandLine.arguments.contains("--leiter") { print() } - // Aufräumen: beide Anfragen haben am Server einen Transcoder angeworfen. + // Aufräumen: **beide** Anfragen haben je einen Transcoder angeworfen. await server.stopTranscode(sessionIdentifier: ohne.sessionIdentifier) - print("Transcoder angehalten.") + await server.stopTranscode(sessionIdentifier: mit.sessionIdentifier) + print("Beide Transcoder angehalten.") exit(0) }