autoAdjustQuality bricht die Plex-Wiedergabe — wieder raus
Gemessen, nicht vermutet: zwei Anfragen an denselben Titel, getrennte Sitzungskennungen, einzige Abweichung der Wert. Ohne ihn kommt eine Playlist, mit ihm eine nackte **HTTP 400**. Die Zeile hätte also nicht die Qualität verbessert, sondern die Wiedergabe verhindert. Der Plan hat vor genau diesem Verhalten gewarnt — nur habe ich es am Entscheider vermutet und ihn dort ausgespart, während die Start-Adresse ihn ebenso ablehnt. Plex' eigene Clients schicken den Wert; welche weitere Angabe sie dabei mitführen, ist offen. Bis das gemessen ist, bleibt er draußen: eine Leiter, die es vielleicht gibt, ist keinen Strom wert, der sicher nicht läuft. `TranscodeRequest.adaptive` bleibt samt seinen Tests bestehen. Das Gerüst steht, es fehlt die richtige Beschwörungsformel. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
165a82acd0
commit
7ecb16d4eb
@@ -167,10 +167,24 @@ public struct PlexBackend: MediaBackend {
|
|||||||
throw .refused(reason: decision.explanation ?? "")
|
throw .refused(reason: decision.explanation ?? "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Erst für die Adresse, die wirklich gespielt wird.
|
// **`autoAdjustQuality` wird nicht geschickt — gemessen, nicht vermutet.**
|
||||||
let start = transcode.prefersAdaptive ? request.askingForLadder() : request
|
//
|
||||||
guard let url = server.transcodeURL(for: start) else { throw .notFound }
|
// Die Zeile stand hier und ist wieder raus. Gegen den Testserver
|
||||||
return PlaybackTarget(url: url, sessionID: start.sessionIdentifier)
|
// beantwortet Plex dieselbe Anfrage mit dem Wert mit einer nackten
|
||||||
|
// **HTTP 400**, ohne ihn mit einer Playlist. Zwei Anfragen, getrennte
|
||||||
|
// Sitzungskennungen, sonst identisch — der Wert ist die einzige
|
||||||
|
// Abweichung.
|
||||||
|
//
|
||||||
|
// Damit hätte er nicht die Qualität verbessert, sondern die
|
||||||
|
// Wiedergabe verhindert. Plex' eigene Clients schicken ihn; welche
|
||||||
|
// weitere Angabe sie dabei mitgeben, ist offen. Bis das gemessen ist,
|
||||||
|
// bleibt er draußen: eine Leiter, die es vielleicht gibt, ist keinen
|
||||||
|
// Strom wert, der sicher nicht läuft.
|
||||||
|
//
|
||||||
|
// `TranscodeRequest.adaptive` bleibt samt Tests bestehen — das
|
||||||
|
// Gerüst steht, es fehlt die richtige Beschwörungsformel.
|
||||||
|
guard let url = server.transcodeURL(for: request) else { throw .notFound }
|
||||||
|
return PlaybackTarget(url: url, sessionID: request.sessionIdentifier)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func endPlayback(sessionID: String) async {
|
public func endPlayback(sessionID: String) async {
|
||||||
|
|||||||
Reference in New Issue
Block a user