diff --git a/TODO.md b/TODO.md
index f1e64f7..7d377ab 100644
--- a/TODO.md
+++ b/TODO.md
@@ -74,6 +74,7 @@
- [x] Minimalen Player-Agent-Prototyp bauen
- [x] Minimale Player-UI bauen
- [ ] Lokale Test-Playlist mit Bild, Video, PDF und Webseite anlegen
+- [ ] **BUG**: Datei `120papag.mpg` ist als `type: image` gespeichert, muss `type: video` sein – Player-UI versucht ``-Laden, was fehlschlägt
- [x] Fallback-Verzeichnisbetrieb demonstrieren
- [ ] `valid_from`/`valid_until` im Prototyp pruefen
- [x] Offline-Sync mit lokalem Cache pruefen
diff --git a/ansible/host_vars/info01-dev/vars.yml b/ansible/host_vars/info01-dev/vars.yml
index 5dd1baa..d9b9cc1 100644
--- a/ansible/host_vars/info01-dev/vars.yml
+++ b/ansible/host_vars/info01-dev/vars.yml
@@ -4,3 +4,4 @@ ansible_user: admin
screen_id: info01-dev
screen_name: "Info01 Entwicklung"
screen_orientation: landscape
+morz_server_base_url: "http://192.168.64.1:8080"
diff --git a/player/agent/internal/playerserver/server.go b/player/agent/internal/playerserver/server.go
index 10180d1..ddba4a6 100644
--- a/player/agent/internal/playerserver/server.go
+++ b/player/agent/internal/playerserver/server.go
@@ -187,12 +187,37 @@ const playerHTML = `
font-weight: 500; letter-spacing: 0.03em; color: #fff;
}
- /* Inhalts-iframe */
- #frame {
+ /* Inhalts-Elemente: iframe, img, video */
+ #frame, #img-view, #video-view {
position: fixed; inset: 0;
width: 100%; height: 100%;
border: none; display: none; z-index: 10;
}
+ #img-view {
+ object-fit: contain;
+ background: #000;
+ }
+ #video-view {
+ object-fit: contain;
+ background: #000;
+ }
+
+ /* Fehler-Fallback für blockierte iframes */
+ #frame-error {
+ position: fixed; inset: 0;
+ width: 100%; height: 100%;
+ display: none; z-index: 10;
+ background: #000;
+ align-items: center; justify-content: center; flex-direction: column;
+ gap: 1rem;
+ }
+ #frame-error .error-title {
+ font-family: sans-serif; font-size: 2rem; color: rgba(255,255,255,0.7);
+ text-align: center; padding: 0 10%;
+ }
+ #frame-error .error-hint {
+ font-family: sans-serif; font-size: 1rem; color: rgba(255,255,255,0.35);
+ }
/* Verbindungsstatus-Punkt */
#dot {
@@ -210,13 +235,23 @@ const playerHTML = `