Files
jellycon/PATCHES.md
mani a71efe14c1
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
Properly fix intermittent installation failures
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.
2026-01-06 01:12:59 +01:00

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_timeout und reconnect Parameter
  • WebSocketApp wird bei jedem Reconnect neu erstellt (verhindert Memory-Leaks)
  • Fügt on_close Callback 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.py
  • resources/settings.xml
  • resources/language/resource.language.en_gb/strings.po
  • resources/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 .pickle Cache-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.py
  • resources/lib/cache_images.py
  • resources/settings.xml
  • resources/language/resource.language.en_gb/strings.po
  • resources/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)