VDR version 2.7.5 freigegeben

  • Würde vielleicht ein UpdateByName() auch genügen (mit dem Patch aus #25)?

    Ich hab's ausprobiert mit

    Code
      if ((Usage() & ruPending) != 0) {
         if ((Usage() & ruCut) != 0) {
            cutter = new cCutter(FileNameSrc());
            cutter->Start();
            //Recordings->DelByName(FileNameDst());
            Recordings->AddByName(FileNameDst(), false);
            Recordings->UpdateByName(FileNameDst());
            }

    was aber leider gar keinen Effekt hat da UpdateByName() an cRecordingInfo::Read() durchgereicht wird, es müsste aber in cRecording numFrames auf -1 eigesetzt werden, was nur im Konstruktor passiert.

  • Würde es gehen, wenn du auch noch das hier machst?

  • Recording->numFrames = -1 zu setzen bewirkt lediglich, dass in cRecording::NumFrames() die Länge der Index-Datei neu eingelesen wird und, falls die Aufnahme noch läuft, dies auch weiterhin getan wird, bis die Aufnahme endet. Sollte also keine negativen Auswirkungen haben..

  • kls , FireFly ,

    wäre es nicht besser, das "Recordings->UpdateByName(FileNameDst());" für das cutting in "cRecordingsHandlerEntry::Active" nur dann aufzurufen, wenn kein Fehler aufgetreten ist? Also unter "// We're done:". Unter "// Now check if there is something to start:" wird es ja erst einmal nur gestartet.

    Anbei mal ein entsprechender Patch.

    Grüße
    kamel5

  • So wie ich den Patch verstehe würde er nichts beim ersten Schneiden verändern, aber beim Überschreiben einer Aufnahme (zweiter Schnitt) die Fehler und Dauer erst am Ende aktualisieren. Da würde die Anzeige dann "plötzlich" umspringen, oder? Warum sollte man das beschränken und anders behandeln als beim Aufnehmen oder dem ersten Schnitt?

  • So wie ich den Patch verstehe würde er nichts beim ersten Schneiden verändern, aber beim Überschreiben einer Aufnahme (zweiter Schnitt) die Fehler und Dauer erst am Ende aktualisieren. Da würde die Anzeige dann "plötzlich" umspringen, oder?

    Ja.

    Warum sollte man das beschränken und anders behandeln als beim Aufnehmen oder dem ersten Schnitt?

    Das wird ja beim ersten Schnitt auch nicht anders behandelt. Wenn man das direkt hinter "cutter->Start();" einfügt, wird es ja auch nur einmalig am Anfang des Schnittes aufgerufen und da ist das endgültige "numFrames" noch nicht bekannt. Ich wüsste jetzt nicht, das es im Plain-VDR beim Cut zwischendurch aktualisiert wird. Ich kann es leider hier selbst momentan nicht testen.

    Im Endeffekt scheint mir hier Deine Lösung aus #40 fast die bessere Wahl.

    Grüße
    kamel5

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

    Git-Repo: gitlab.com/kamel5

  • Ja, wird es aber solange der Schnitt oder die Aufnahme noch läuft, da in dieser Zeit numFrames = -1 ist und erst am Ende des Schnitt bzw.Aufnahme der endgültige Wert gesetzt wird.

    Stimmt, das konnte ich jetzt nachvollziehen.

    Wenn man über das Ganze nachdenkt, wird es ja nur dadurch nicht richtig gemacht, weil bei "cRecordings::AddByName" das beim zweiten mal ignoriert wird. Im Endeffekt würde es ja reichen, dort einen "else" - Fall aufzumachen und das "UpdateByName" dort unterzubringen.

    Im Anhang mal einen Patch dazu.

    Grüßr
    kamel5

  • Hi,

    irgendwie hab ich den Überblick verloren:
    Gibt es einen Patch für skincurses?
    Wenn ich den anwende, der hier gepostet wurde, übersetzt es zwar, aber ich bekomme:

    Code
    /usr/lib/vdr/libvdr-skincurses.so.7: undefined symbol: _ZN24cSkinCursesDisplayTracks15SetAudioChannelEi
    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Zusatzfrage: Warum startet VDR die alphabetisch nach einem Plugin (hier skincurses) gelegenen Plugins (hier tvscraper ...) nicht mehr, wenn ein Plugin so einen Fehler bringt?
    Das ist schon seit langem so, aber trotzdem etwas unschön, zumal ich skincurses zwar übersetze, aber überhaupt nicht lade.

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Zusatzfrage: Warum startet VDR die alphabetisch nach einem Plugin (hier skincurses) gelegenen Plugins (hier tvscraper ...) nicht mehr, wenn ein Plugin so einen Fehler bringt?

    Damit das nicht passiert, verwende ich schon seit Jahren folgenden Patch:

    Eventuell könnte kls das in den VDR übernehmen und beide Verhaltensweisen (ähnlich dem Emergency Exit) konfigurierbar gestalten.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.5 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Hi,

    irgendwie hab ich den Überblick verloren:
    Gibt es einen Patch für skincurses?
    Wenn ich den anwende, der hier gepostet wurde, übersetzt es zwar, aber ich bekomme:

    Code
    /usr/lib/vdr/libvdr-skincurses.so.7: undefined symbol: _ZN24cSkinCursesDisplayTracks15SetAudioChannelEi

    Hast du die "includes" (die Header) des VDR mit der neuen Version auch frisch an die entsprechende(n) Stelle(n) kopiert?

    Habe öfters bei anderen Plugins ähnliche "undefined symbol"-Meldungen und die kamen dann immer genau davon. Also, dass veraltete Header-Dateien in "/usr/local/include/vdr/" oder "/usr/include/vdr/" bzw. "/usr/local/include/libsi/" oder "/usr/include/libsi/" lagen.

    Signatur

    Stand: 17 Nov. 2024

    Server: VDR 2.6.6, Kubuntu 24.04, 6.8.0-48-generic Kernel

    HW: Intel i5-6500, 16GB RAM, DD Cine S2 V6.5, MSI Z170-A Pro, SeaSonic S12II 330W, Samsung 860 QVO 1TB + WD 1,5TB Caviar Green, iMon-LCD, Plugins: softhddevice, epg2vdr, lcdproc, markad, skindesigner, statusleds, streamdev-server, svdrpservice, vnsiserver
    Dienste: Samba, DNS, Mail, LAMP, VDR-Server für
    Client: RPi 3b+, VDR 2.4.0, OSMC

  • Hast du die "includes" (die Header) des VDR mit der neuen Version auch frisch an die entsprechende(n) Stelle(n) kopiert?

    Habe öfters bei anderen Plugins ähnliche "undefined symbol"-Meldungen und die kamen dann immer genau davon. Also, dass veraltete Header-Dateien in "/usr/local/include/vdr/" oder "/usr/include/vdr/" bzw. "/usr/local/include/libsi/" oder "/usr/include/libsi/" lagen.

    Versteh ich nicht, was haben die Includes denn damit zu tun?
    Ich hol das per git und mach einen make. Da kopiert man doch nix manuell?!?

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Versteh ich nicht, was haben die Includes denn damit zu tun?
    Ich hol das per git und mach einen make. Da kopiert man doch nix manuell?!?

    Klar, ich hole mir den Code auch via git und führe ein make aus, aber:
    Ich führe nie ein "make install" aus, bei dem die (neuen) Header an die richtigen Stellen kopiert werden, sondern kopiere die paar Dateien, die nach dem Kompilieren entstehen, immer manuell. Das hat halt den Nachteil, dass die Header eben nicht automatisch kopiert werden.

    Falls du das auch so machst oder aus versehen jetzt einmal so gemacht hattest, könnte es das sein.
    Ist ja nur meine Erfahrung/Beobachtung bei meinen unresolved symbols.

    Viele Grüße,
    Chriss

    Signatur

    Stand: 17 Nov. 2024

    Server: VDR 2.6.6, Kubuntu 24.04, 6.8.0-48-generic Kernel

    HW: Intel i5-6500, 16GB RAM, DD Cine S2 V6.5, MSI Z170-A Pro, SeaSonic S12II 330W, Samsung 860 QVO 1TB + WD 1,5TB Caviar Green, iMon-LCD, Plugins: softhddevice, epg2vdr, lcdproc, markad, skindesigner, statusleds, streamdev-server, svdrpservice, vnsiserver
    Dienste: Samba, DNS, Mail, LAMP, VDR-Server für
    Client: RPi 3b+, VDR 2.4.0, OSMC

  • nobanzai .dependencies vor dem compilieren gelöscht?

    Ich mach immer einen make clean - wenn der das richtig macht, ist die Antwort "ja".

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Klar, ich hole mir den Code auch via git und führe ein make aus, aber:
    Ich führe nie ein "make install" aus, bei dem die (neuen) Header an die richtigen Stellen kopiert werden, sondern kopiere die paar Dateien, die nach dem Kompilieren entstehen, immer manuell. Das hat halt den Nachteil, dass die Header eben nicht automatisch kopiert werden.

    Falls du das auch so machst oder aus versehen jetzt einmal so gemacht hattest, könnte es das sein.
    Ist ja nur meine Erfahrung/Beobachtung bei meinen unresolved symbols.

    Viele Grüße,
    Chriss

    Ok, jetzt hab ich dich verstanden.
    Aber nein, ich kopiere nix manuell.

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Eventuell könnte kls das in den VDR übernehmen

    Wenn ein angefordertes Plugin nicht geladen werden kann halte ich es nicht für sinnvoll, den VDR zu starten. Es könnte ja ein Plugin sein, dessen Fehlen zunächst gar nicht auffällt, aber das zu einem späteren Zeitpunkt wichtig ist. Dann lieber gleich gar nicht starten und den Benutzer dazu "zwingen", das Problem zu beheben.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!