Transcoder: lebt der Zweig überhaupt?

Jede Variante scheitert, auch „nur Pfad und Token". Damit ist es kein
Parameter — es ist der Endpunkt.

Also die Frage eine Ebene höher: `ping` und `stop` gehören zu derselben
Familie und brauchen nur eine Sitzungskennung. Antworten auch sie mit
400, ist nicht die Anfrage falsch, sondern der ganze Zweig nicht da.

Dazu zwei Gegenkontrollen von Dingen, die nachweislich gehen: der
Bild-Transcoder, der denselben `/:/`-Aufbau hat und aus dem die Plakate
kommen, und die Mediathek selbst. Wenn die antworten und der
Video-Transcoder nicht, liegt es nicht an Flixys Adressen.

Und der Probe nimmt jetzt `--channel 002`: bisher hat er immer Sender 001
genommen, auf dem gerade nichts läuft — ein Sender ohne Sendung sagt über
das Einschalten wenig aus. Ohne Angabe nimmt er den ersten, auf dem
etwas läuft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-12 15:58:25 +02:00
co-authored by Claude Opus 5
parent 8ab7baecb8
commit 2a19db2757
2 changed files with 34 additions and 4 deletions
@@ -1556,9 +1556,21 @@ extension PlexServer {
for (name, items) in variants {
lines.append(" \(name): \(await probe(items: items, endpoint: "start.m3u8"))")
}
// Und derselbe Satz an den Entscheider: er antwortet in Plex' Format
// statt mit HTML, wenn er überhaupt antwortet.
lines.append(" Entscheider: \(await probe(items: variants.last!.1, endpoint: "decision"))")
// Lebt der Transcoder überhaupt? `ping` und `stop` gehören zu
// derselben Familie und brauchen nur eine Sitzungskennung. Wenn auch
// sie mit 400 antworten, ist nicht die Anfrage falsch, sondern der
// ganze Zweig nicht da.
let session2 = [URLQueryItem(name: "session", value: session),
URLQueryItem(name: "X-Plex-Token", value: token)]
lines.append(" ping: \(await probe(items: session2, endpoint: "ping"))")
lines.append(" stop: \(await probe(items: session2, endpoint: "stop"))")
// Und zur Gegenkontrolle etwas, von dem wir wissen, dass es geht:
// die Bilder kommen über denselben `/:/`-Aufbau.
lines.append(" Bild-Transcoder: \(await rawResponse(forPath: "/photo/:/transcode", limit: 120))")
lines.append(" Mediathek: \(await rawResponse(forPath: "/library/sections", limit: 120))")
return lines
}