Der Plex-Vergleich verglich zwei Mal dasselbe
`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 bekam die laufende Sitzung der ersten zurück, und die Antwort war zwangsläufig identisch. Im Wortlaut stand zweimal dieselbe Sitzungs-GUID — der Beweis, dass gar nichts gemessen wurde. Jetzt zwei eigenständige Anfragen mit getrennten Kennungen, beide Kennungen werden gedruckt, und beide Transcoder werden hinterher angehalten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e324a474fd
commit
165a82acd0
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user