[skindesigner] Bug in Version 1.2.10 und 1.2.11 -> Fixed in 1.2.12

  • Hallo,


    in Version 1.2.10 und Version 1.2.11 hat sich leider ein Bug eingeschlichen, der bei einigen Skins zu einem segfault führt, wenn man bei der Wiedergabe einer Aufzeichnung die Info-Seite aufruft.


    Bitte auf Version 1.2.12 updaten.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Läuft wieder unter arch :thumbup:

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Hallo kamel5,

    willst du dir mal folgen Patch anschauen und eventuell übernehmen.

    Dadurch wird bei Wiedergabe einer Timeshift Wiedergabe das OSD richtig angezeigt. Der Skin shady und shady_kiss z.B. unterstützen das.

    Hier Version 0.4.7 Timeshift und Permashift Unterstützungwurde das von Louis 2015 eingeführt. Ist aber irgendwann aus den Sourcen verschwunden.

    skindesigner-timeshift.diff

  • machtnix ,


    mit Deinem beigefügten Patch hatte das nichts zu tun.


    Diese Anzeige wurde explizit mal deaktiviert, um Instant recordings nicht als Timeshift anzuzeigen. Ob das einen tieferen Hintergrund hatte, lässt

    sich leider nicht sagen.

    Das Problem hier ist, das Instant recordings und Timeshift recordings beide mit dem Buchstaben "@" anfangen und man dadurch entweder beides Anschalten oder Abschalten kann. Ich habe jetzt den entsprechenden commit mal reverted (siehe git).


    Also bitte mal intensiv beobachten, ob es irgendwelche Nebenwirkungen gibt.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Das Problem liegt glaube ich an diesem Commit 8a04a17f Soweit ich das beurteilen kann, ist da was schiefgelaufen mit der "displayreplay.c"

    Seit dieser Zeit nutze ich den Patch um die fehlenden Zeilen am Ende der "displayreplay.c" wieder herzustellen. Durch den Patch sind mir keinerlei negative Verhalten aufgefallen.


    Gruß

    machtnix

  • machtnix , Du hast mich falsch verstanden.


    Den Patch brauchst Du nicht mehr. Ich habe das Problem an anderer Stelle gefunden.

    Wenn Du den letzten Stand vom git benutzt, sollte es jetzt wieder ohne Patch gehen.


    Grüsse

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

    Einmal editiert, zuletzt von kamel5 ()

  • Ich habe dich schon richtig verstanden :) Das deaktivieren der Funktion rückgängig zu machen, hat aber nicht ausgereicht.

    Den letzen Stand vom Git habe ich auch Gestern getestet , aber die Anzeige des Fortschrittbalkens bei Zeitversetzter Wiedergabe eine gerade laufenden Aufzeichnung ist weiterhin fehlerhaft. Es fehlen einfach nur Teile der displayreplay.c , die ich durch den Patch wiederherstelle.

    Hast du die den Commit 8a04a17f mal angeschaut ? Bin mir sicher, da wird mehr gelöscht als notwendig !


    Übrigens für mich ist es kein Problem weiterhin den Patch zu verwenden. Offensichtlich wird von anderen Usern diese Funktion nicht vermisst. Deshalb bin ich mir nicht sicher ob sich die Arbeit nach der Fehlersuche lohnt.


    Gruß

    machtnix

  • Wir werden der Sache schon auf den Grund kommen.

    Übrigens für mich ist es kein Problem weiterhin den Patch zu verwenden. Offensichtlich wird von anderen Usern diese Funktion nicht vermisst. Deshalb bin ich mir nicht sicher ob sich die Arbeit nach der Fehlersuche lohnt.

    Das sollte schon richtig funktionieren.


    Also, in dem commit 8a04a17f ist nichts verloren gegangen, die Funktion SetTimeShiftValues ist nur von displayreplay.c nach coreengine/viewdisplayreplay.c gewandert. Das sollte eigentlich keinen Einfluss auf die Funktionalität haben.


    Wäre es Dir möglich, mal einen Screenshot vom Zustand letzter commit f8b6b2cf aus dem git und ohne den Patch zu machen, damit ich mal eine Vorstellung habe, was da fehlt.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • OK, wir kommen der Sache schon näher.


    Das was Du im letzten Post beigefügt hast, sieht wie ein Blackhole Skin aus, aber kein Originaler. Den Part, der das so wie im unteren Bild darstellt, gibt es im originalen Skin nicht.

    Wenn Du den letzten Stand vom skindesigner-git und z.B. den letzten offiziellen Stand von shady oder shady_KISS verwendest, wird es genau so angezeigt, wie Du das erwartest. Bei mir zumindest ist das so.


    Du müsstest also mal Deine Skins überprüfen, ob das miteinander kompatibel ist.


    Bei Bedarf kannst Du auch Deinen genutzten Skin mal komplett zippen und hier einstellen (auch als PN), dann kann ich das nochmal verifizieren.


    Viele Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

    Einmal editiert, zuletzt von kamel5 ()

  • Habe jetzt mal den original shady_kiss aus dem git installiert und auch den original metrix skin versucht. Beide unterstützen von Hause aus die Timeshit Anzeige. Leider wird da auch erst nach dem Patchen der Fortschrittsbalken richtig angezeigt.

    Am modifizierten blackhole skin kanns ja dann eigentlich nicht liegen.


    Kiss ohne



    Kiss mit Patch



    Verstehe echt nicht, wieso das bei dir funktioniert.?(


    Eine Idee hätt ich noch - Die Aufnahmen finden bei mir auf dem Server statt - werden ohne den Patch vielleicht die aktiven Aufnahmen nicht erkannt? (epg2vdr)

  • Mal noch von mir eine Frage zur Anzeige bei Timeshift.

    Wird denn bei Euch bei Timeshift die aktuelle Timshiftzeit {timetotal} aktualisiert im "progressmodeonly" aktualisiert?

    Bei der "normalen" großen OSD-Anzeige von Timeshift wird die Gesamtzeit laufend aktualisiert, nur eben im kleinen OSD dem "progressmodeonly" nicht.

    Das hatte ich vor Jahren schon mal hier angesprochen, aber da ist dann keine reaktion mehr gekommen, weil louis nicht mehr hier aktiv ist.

    Vielleicht kann das auch mal gefixt werden. Wäre schön! :)

  • Das ist wirklich seltsam.

    So sieht es bei mir aus bei shady_KISS und letzten skindesigner git Stand.


    Was mir an Deinen Bildern aufgefallen ist: die Zeit rechts neben dem Balken ist negativ.


    Du könntest mal versuchen alle unnötigen Plugins zu deaktivieren, z.B. epg2vdr, das nutze ich hier auch nicht, und einen lokalen Timeshift.

    Ansonsten habe ich Im Moment auch keine weiteren Ideen mehr.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

    Einmal editiert, zuletzt von kamel5 ()

  • Bei der "normalen" großen OSD-Anzeige von Timeshift wird die Gesamtzeit laufend aktualisiert, nur eben im kleinen OSD dem "progressmodeonly" nicht.

    Geht bei mir auch nicht.

    Da stimmt insgesamt etwas nicht. Den Balken gibt es bei mir nur nach dem ersten OK, nach weiteren OK's dann nicht mehr.


    Kann ich mir gerne mit anschauen.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Aahhhh, bei einer lokalen Aufnahme funktioniert's !!


    Das bedeutet, dass die Aufnahme über epg2vdr auf dem Server ohne den Patch nicht bei der Wiedergabe als laufender Timer erkannt wird und deshalb "isTimeshift" nicht true wird.

    Mit dieser Erkenntnis ist wohl der (ungewollte) Wegfall der epg2vdr Timer- Unterstüzung das Problem.

  • Ich glaube den Fehler gefunden zu haben :)


    #if APIVERSNUM >= 20101

    int usage = recording->IsInUse();

    if (usage & ruTimer)

    isTimeShift = true;

    else {

    cGlobalTimers globalTimers;

    globalTimers.LoadTimers();

    if (globalTimers.IsRecording(recording))

    isTimeShift = true;

    }

    #endif


    diese 2 Zeilen in der viewdisplayrepay.c habe ich eingefügt und ein erster Test sieht gut aus.

    Macht das mit dem Fehlerbild Sinn?

  • Sehr schön, das es jetzt einen Grund gibt.

    diese 2 Zeilen in der viewdisplayrepay.c habe ich eingefügt und ein erster Test sieht gut aus.

    Macht das mit dem Fehlerbild Sinn?

    Ja, das habe ich an anderer Stelle auch schon gesehen.

    Ich schaue mir das morgen mal an.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!