Verify decoder integration E2E and fix live metadata probing and mapping
This commit is contained in:
+17
-2
@@ -1,6 +1,6 @@
|
||||
# Enigma2 dla Jellyfin 12.2
|
||||
|
||||
Lokalne rozszerzenie wtyczki Enigma2 6.0.0.0, wersja 7.0.4.0. Zachowuje identyfikator wtyczki, nazwę usługi, konfigurację połączenia, natywne strumienie, nagrania i timery dekodera. Profile transkodowania pozostają na dekoderze.
|
||||
Lokalne rozszerzenie wtyczki Enigma2 6.0.0.0, wersja 7.0.6.0. Zachowuje identyfikator wtyczki, nazwę usługi, konfigurację połączenia, natywne strumienie, nagrania i timery dekodera. Profile transkodowania pozostają na dekoderze.
|
||||
|
||||
## Funkcje
|
||||
|
||||
@@ -74,4 +74,19 @@ Do aktualizacji wyłącznie DLL używa się `deploy-plugin-only.py` w CT100191 p
|
||||
|
||||
Testy konsolowe przeszły: współdzielenie probe, anulowanie pojedynczego odbiorcy, limit czasu, brak wideo, jeden upstream dla dwóch odbiorców relay, odmowa dostępu zewnętrznego oraz zwolnienie ostatniego połączenia. `test-web-bridge.cjs` sprawdza domyślną zakładkę, OSD, Escape, deduplikację i spóźnione zakończenie. `verify.py` potwierdził aktywną 7.0.4.0, 216 kanałów i izolację preferencji/uprawnień. `test-web-player.cjs` pozwala ustawić nazwę przez DECODER_TEST_CHANNEL i sprawdza rzeczywisty obraz oraz wyjście w Edge.
|
||||
|
||||
Bieżące próby TVP 1 HD i TVP 2 HD: domyślne Kanały i wyjście PASS, obraz NO_FRAME_FROM_SOURCE, bez błędów JS. Bezpośrednie żądanie TVP1 z CT100191 do portu 8001, z pominięciem wtyczki i odtwarzacza, otrzymało HTTP 200 i 0 bajtów po około 5,3 s. Dla TVP2 test web nie uzyskał obrazu; nie potwierdzono identycznej przyczyny. Bieżące service reference w natywnej bazie są zgodne z OpenWebif: TVP1 3ABD:514:13E oraz TVP2 C22:1E78:71. Dodatkową ręczną próbę 3D66:2C88:13E błędnie opisano jako TVP2; jest to TV PULS HD i nie stanowi dowodu dla TVP2. Nie potwierdzono przywrócenia obrazu. Odczyt logów dekodera wykazał dodatkowo zatrzymania GUI przez runlevel 4→3 o 20:44, 20:45, 20:47 i 20:48 CEST; Enigma obsługuje porty 80 i 8001, więc te przerwy wyjaśniają wcześniejsze Connection refused. Źródła poleceń restartów oraz przyczyny pustej transmisji nie przypisano do LNB ani OSCam bez dalszych dowodów. W ramach tej naprawy nie zmieniano ani nie restartowano odbiornika.
|
||||
Bieżące próby TVP 1 HD i TVP 2 HD: domyślne Kanały i wyjście PASS, obraz NO_FRAME_FROM_SOURCE, bez błędów JS. Bezpośrednie żądanie TVP1 z CT100191 do portu 8001, z pominięciem wtyczki i odtwarzacza, otrzymało HTTP 200 i 0 bajtów po około 5,3 s. Dla TVP2 test web nie uzyskał obrazu; nie potwierdzono identycznej przyczyny. Bieżące service reference w natywnej bazie są zgodne z OpenWebif: TVP1 3ABD:514:13E oraz TVP2 C22:1E78:71. Dodatkową ręczną próbę 3D66:2C88:13E błędnie opisano jako TVP2; jest to TV PULS HD i nie stanowi dowodu dla TVP2. Nie potwierdzono przywrócenia obrazu. Odczyt logów dekodera wykazał dodatkowo zatrzymania GUI przez runlevel 4→3 o 20:44, 20:45, 20:47 i 20:48 CEST; Enigma obsługuje porty 80 i 8001, więc te przerwy wyjaśniają wcześniejsze Connection refused. Źródła poleceń restartów oraz przyczyny pustej transmisji nie przypisano do LNB ani OSCam bez dalszych dowodów. W ramach tej naprawy nie zmieniano ani nie restartowano odbiornika.
|
||||
## E2E i poprawki odtwarzania — 12.10.2026, 7.0.6.0
|
||||
|
||||
Pełny test produkcyjny używa `test-e2e.cjs` oraz izolowanych kontekstów Edge i tymczasowych kont. `--ui-only` sprawdza interfejs, zapis po przeładowaniu, wyszukiwanie, ulubione, ukrywanie, kolejność w natywnym API, EPG, obrazki, domyślny widok, uprawnienia, brak dostawcy nagrań Vu i panel administracyjny. `--playback-only` sprawdza rzeczywiste klatki 4Fun.TV, TVP1, TVP2 i TVN, native OSD, dwuklik, dwa odtwarzacze i zwolnienie źródła. `--control-only` ogranicza odtwarzanie do 4Fun.TV, a `--config-only` nie otwiera transmisji TV. `--report=<ścieżka.json>` zapisuje wyniki bez tokenów i haseł. Testy są operacjami produkcyjnymi: konta są usuwane w finally; nie tworzą nagrań ani timerów i nie zapisują formularza konfiguracji wtyczki.
|
||||
|
||||
E2E wykrył dwa błędy po stronie wtyczki i sprawdził ich poprawki. Analiza nieskończonego TS zawierającego PID danych EPG mogła osiągać limit 15 s mimo poprawnego AV. Probe teraz pobiera przez ten sam relay próbkę do około 4 MiB / 4 sekund i analizuje skończony plik. Wybór programu po SID z service reference zapobiega uznaniu danych innego transpondera za oczekiwany kanał. Plik próbki jest usuwany także po błędzie; obserwacja po testach wykazała zero pozostałych próbek.
|
||||
|
||||
Drugi błąd: Jellyfin 12.2 w `EncodingHelper.FindIndex/GetMapArgs` mapuje pozycję na liście strumieni. Lista AV pozbawiona wcześniejszego PID EPG powodowała `-map 0:0 -map 0:1`, próbę zapisania EPG w MP4 i błąd HLS. Wtyczka przekazuje teraz kopię rzeczywistych metadanych AV z `Index=-1`, używając natywnego wariantu automatycznego wyboru AV, zamiast zgadywania indeksów. Oryginalny wynik probe nie jest zmieniany. Nie zmieniono kodu Jellyfina ani wrapperów. Przy takim mapowaniu wybór ścieżki audio pozostaje automatyczny; ręcznego wyboru alternatywnej ścieżki nie potwierdzono. Źródło zachowuje `SupportsProbing=false` i ustawia `AnalyzeDurationMs=1500`. Web OSD czeka na metadane wideo i obsługuje odrzuconą/anulowaną nawigację.
|
||||
|
||||
Wdrożona DLL: 7.0.6.0; backup `/var/lib/jellyfin/decoder-plugin-backups/plugin-only-20261012T192438Z`. Sprawdzone hashe konfiguracji/wrapperów/index/config bez zmian. Instalator dodatkowo czeka na aktywną wtyczkę w API po starcie usługi.
|
||||
|
||||
Wyniki w osobnych JSON: `e2e-ui-20261012.json`, `e2e-config-20261012.json`, `e2e-control-20261012.json`, `e2e-playback-20261012.json`, `e2e-guide-20261012.json`. Test interfejsu potwierdził 16 podstawowych kontroli, 216 kanałów, izolację dwóch użytkowników i 36 istniejących timerów. Zakończony świeży Refresh Guide dopasował 5302 grafiki audycji. Kontrolny playback 4Fun.TV zaliczył 9/9: rosnące zdekodowane klatki, dwa browsery / jedno fizyczne połączenie dekodera, zatrzymanie jednego bez przerwania drugiego i pełne zwolnienie źródła. Końcowy przebieg obejmował również pozytywny natywny kafelek i OSD.
|
||||
|
||||
Całego E2E nie uznano za zielony: TVP1, TVP2 i TVN nie uzyskały klatek; źródło dekodera było puste lub miało niewłaściwy program/transponder według równoległej diagnostyki natywnej. Przy błędach źródła Jellyfin Web nadal zgłosił nieobsłużone odrzucenia obietnic `undefined`; wyjście do kanałów przeszło. Administracyjna nawigacja konfiguracji dla tymczasowego konta jest raportowana osobno i nie wolno uznać jej za PASS na podstawie samego API HTML. Nie zmieniano konfiguracji tunerów, nie restartowano Vu ani nie omijano ochrony logowania administratora. Końcowe aktywne transmisje wstrzymano na prośbę zadania dekodera prowadzącego ponownie izolowane strojenie.
|
||||
|
||||
Zakres nie obejmuje Android TV, pełnego logowania SSO w Keycloak, tworzenia/wykonywania nowych nagrań ani wielogodzinnej stabilności. Wynik short E2E nie jest gwarancją tych funkcji.
|
||||
Reference in New Issue
Block a user