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 41 Kernel 6.13 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

Participate now!

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