Wiedergabe: die Plex-Kennung muss in die Adresse, nicht nur in die Kopfzeilen
HTTP 400 vom Transcoder. Die Kennung dieses Geräts reist bei jeder Anfrage als Kopfzeile mit — aber die Adresse des Stroms ruft nicht die App ab, sondern AVPlayer, und der schickt keine Kopfzeilen mit. Bei Dateien fällt das nicht auf; bei Live-TV schon: der Server legt die Sitzung unter der Gerätekennung an und kann die Abholung ohne sie keiner Sitzung zuordnen. Also trägt die Transcoder-Adresse die Kennung jetzt selbst. Das gilt für alle Ströme, nicht nur für Live — dort fiel es nur zuerst auf. Dazu: umgerechnet wird die Adresse der Sitzung, nicht die des Teils darin. Der Transcoder sucht sich den Teil selbst, deshalb steht dort -1. Und der Entscheider unterscheidet jetzt zwischen „nein" und „keine Antwort". Ein Schweigen als Ablehnung zu lesen hieße, eine funktionierende Sendung zu blocken, bloß weil er Live-Adressen womöglich gar nicht kennt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
861ca805a5
commit
8dba05b4f9
@@ -16,6 +16,12 @@ public actor PlexServer {
|
||||
/// bleibt er verborgen: die App soll Methoden aufrufen, keine Pfade bauen.
|
||||
let client: PlexHTTPClient
|
||||
nonisolated let token: String
|
||||
/// Wer wir für den Server sind.
|
||||
///
|
||||
/// Auch hier festgehalten, nicht nur im Client: Adressen, die der
|
||||
/// Systemplayer abruft, müssen die Kennung selbst tragen — AVPlayer
|
||||
/// schickt keine Kopfzeilen mit.
|
||||
nonisolated let identity: PlexClientIdentity
|
||||
|
||||
public init?(
|
||||
resource: PlexResource,
|
||||
@@ -27,6 +33,7 @@ public actor PlexServer {
|
||||
self.resource = resource
|
||||
self.connection = connection
|
||||
self.token = token
|
||||
self.identity = identity
|
||||
self.client = PlexHTTPClient(
|
||||
baseURL: baseURL,
|
||||
identity: identity,
|
||||
|
||||
Reference in New Issue
Block a user