Some checks failed
Build JellyCon / build (py2) (push) Has been cancelled
Build JellyCon / build (py3) (push) Has been cancelled
CodeQL Analysis / analyze (python, 3.9) (push) Has been cancelled
Release Drafter / Update release draft (push) Has been cancelled
Test JellyCon / test (3.9) (push) Has been cancelled
Instead of setting addon variables to None (which causes issues), fix the root cause by removing unnecessary module-level initialization: - Remove module-level user_details loading in functions.py - Load user_details locally in functions where actually needed - Wrap remaining module-level addon access in try/except in: - service.py (log_timing_data) - default.py (log_timing_data) - kodi_utils.py (addon variable) - functions.py (__addon__ and related variables) This prevents crashes during installation/update while avoiding None-related issues during normal operation.
3.8 KiB
3.8 KiB
JellyCon Patches
Diese Patches fügen neue Features und Fixes zu JellyCon hinzu.
Patches Übersicht
1. websocket-keepalive-fix.patch (3.1 KB)
Was es behebt: Session-Flapping Problem (ständige Reconnects alle 2 Minuten)
Änderungen:
- Implementiert Jellyfin's ForceKeepAlive/KeepAlive Protokoll
- Entfernt problematische
ping_timeoutundreconnectParameter - WebSocketApp wird bei jedem Reconnect neu erstellt (verhindert Memory-Leaks)
- Fügt
on_closeCallback hinzu für besseres Debugging
Betroffene Dateien:
resources/lib/websocket_client.py
Anwendung:
cd plugin.video.jellycon
patch -p1 < websocket-keepalive-fix.patch
2. transcode-target-codec.patch (4.4 KB)
Was es hinzufügt: Konfigurierbare Transcode-Ziel-Codecs (H.264, H.265, AV1)
Features:
- Neue Dropdown-Option: "Transcode target video codec"
- H.264 (default)
- H.265 (HEVC) - Perfekt für Raspberry Pi 5!
- AV1
- Neue Checkbox: "Force transcode h264"
- Unabhängige Kontrolle über Quell- und Ziel-Codecs
Perfekt für:
- Raspberry Pi 5 (H.265 Hardware-Decode)
- Moderne GPUs mit AV1-Unterstützung
- Optimierung der Client-Hardware-Beschleunigung
Betroffene Dateien:
resources/lib/play_utils.pyresources/settings.xmlresources/language/resource.language.en_gb/strings.poresources/language/resource.language.de/strings.po
Anwendung:
cd plugin.video.jellycon
patch -p1 < transcode-target-codec.patch
Konfiguration nach Installation:
Kodi Settings → Add-ons → JellyCon → Playback
1. "Transcode target video codec" → H.265 (HEVC)
2. "Force transcode h264" → ☑ Aktivieren
3. "Force transcode h265" → ☐ Aus
Ergebnis:
- H.264 Content → Server transcodiert zu H.265 → Pi 5 Hardware-Decode
- H.265 Content → DirectPlay (Hardware!)
3. disable-disk-cache.patch (3.8 KB)
Was es hinzufügt: Option zum Deaktivieren von Disk-Caching
Features:
- Neue Checkbox: "Disable disk caching (RAM only)"
- Verhindert Schreiben von
.pickleCache-Dateien - Deaktiviert Artwork-Preloading
- Daten bleiben nur im RAM
Perfekt für:
- SD-Karten (Raspberry Pi) - reduziert Schreibzyklen massiv
- Privacy - keine dauerhaften Cache-Dateien
- Immer frische Daten vom Server
Betroffene Dateien:
resources/lib/datamanager.pyresources/lib/cache_images.pyresources/settings.xmlresources/language/resource.language.en_gb/strings.poresources/language/resource.language.de/strings.po
Anwendung:
cd plugin.video.jellycon
patch -p1 < disable-disk-cache.patch
Konfiguration nach Installation:
Kodi Settings → Add-ons → JellyCon → Advanced
"Disable disk caching (RAM only)" → ☑ Aktivieren
Hinweis: Kodi's eigener Texture-Cache (~/.kodi/userdata/Thumbnails/) läuft weiterhin!
Alle Patches auf einmal anwenden
cd plugin.video.jellycon
patch -p1 < websocket-keepalive-fix.patch
patch -p1 < transcode-target-codec.patch
patch -p1 < disable-disk-cache.patch
Patches rückgängig machen
cd plugin.video.jellycon
patch -p1 -R < websocket-keepalive-fix.patch
patch -p1 -R < transcode-target-codec.patch
patch -p1 -R < disable-disk-cache.patch
Zusammenfassung der Änderungen
7 Dateien geändert, 134 Zeilen hinzugefügt, 15 Zeilen entfernt
+ resources/lib/websocket_client.py (KeepAlive Fix)
+ resources/lib/play_utils.py (Transcode Target)
+ resources/lib/datamanager.py (Disk Cache Control)
+ resources/lib/cache_images.py (Disk Cache Control)
+ resources/settings.xml (Neue Settings)
+ resources/language/.../strings.po (Sprachstrings DE+EN)
Getestet mit
- JellyCon Version: 0.9.0+py3
- Kodi Version: Matrix 19+
- Jellyfin Server: 10.8+
- Raspberry Pi 5 (primärer Use-Case)