[Permashift] Tester für (fast) permanenten Timeshift gesucht


  • Wenn der Vdr durch einen Timer nicht ausschaltet wird doch das Houskeeping der Plugins nicht aufgerufen.
    Aber es gibt eine Funktion im Vdr die einmal pro Vdr loop aufgerufen wird. Weiß leider grad nicht wie die heist.
    Wichtig ist nur die Funktion so schnell wie möglich zu verlassen, da der Vdr sonst träge wird. Aber das prüfen einer Variable dürfte nicht das Problem sein.

    VDR:
    Hardware: Thermaltake DH102, Zotac ION ITX-F-E, 2Gig Ram, TechnoTrend
    dual DVB-S2 6400, TechnoTrend Connect CT-3650,


    Software: EasyVDR 1.0

  • Moin!


    Könnte das Plugin mit einem Timer oder in einem anderen Thread (zwischen langen Sleeps) die
    Aktivität abfragen - und vor allem, könnte/dürfte er von da aus (ggf. also aus einem anderen
    Thread) seine Aufnahme stoppen?


    Lange Sleeps solltest du vermeiden, denn der Thread muss ja auch unterbrochen werden können, wenn der vdr sich beenden will. Ich kann da morgen mal ein Beispiel raussuchen, wie man das am besten macht.
    Stichwort: conditional sleep und passendes Abfragen von Running() usw.


    Falls du von da aus nicht die Aufnahme stoppen darfst, dann kannst du immer noch eine interne Variable setzen und dann im MainThreadHook darauf reagieren.


    Lars.

  • Wenn der Vdr durch einen Timer nicht ausschaltet wird doch das Houskeeping der Plugins nicht aufgerufen.
    Aber es gibt eine Funktion im Vdr die einmal pro Vdr loop aufgerufen wird. Weiß leider grad nicht wie die heist.
    Wichtig ist nur die Funktion so schnell wie möglich zu verlassen, da der Vdr sonst träge wird. Aber das prüfen einer Variable dürfte nicht das Problem sein.

    Ich hatte ein bisschen Respekt davor, mich in die MainLoop einzuklinken.
    Aber stimmt schon, einmal pro Runde die Zeit abfragen sollte schon gehen
    (im Zweifel lass ich einen Zähler mitlaufen und frag nur jedes tausendste Mal ab).
    Und das Stoppen der Aufnahme würde ja dann erst zu einem Zeitpunkt geschehen,
    wo der Nutzer mutmaßlich schon vor dem Schirm eingeschlafen ist.
    So wär ich auch im Hauptthread und darf direkt stoppen.


    Mir fällt grad auf...
    Die Permanenz hat ja noch eine Lücke: Wenn die Pause-Aufnahmen-Zeit (3 h?)
    vorbei ist, läuft auch die Permashift-Aufnahme aus. Wenn ich jetzt die (In)Aktivität
    des Users abfrage, könnte ich auch gelegentlich die Aufnahme verlängern, solange
    der User noch aktiv ist.


    Ciao,
    Eike

  • Hallo Ein Eike,


    und vielen Dank für dieses Plugin:


    Leider bekomme ich unter yaVDR 0.5 stable beim Bauen ein Fehler. (vdr 1.7.27)



    Weißt du woran das liegen könnte?


    Grüße,
    Kokel

  • Weißt du woran das liegen könnte?


    Könnte sein, dass der Patch nur gegen den VDR 1.7.35 funktioniert.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)


  • Könnte sein, dass der Patch nur gegen den VDR 1.7.35 funktioniert.


    Ja, der Patch war für 1.7.35. Auf seiner Homepage hat er jedoch stehen:

    Quote

    Ich habe ihn probehalber auch auf 1.7.28 angewandt, da braucht es leider einen (einfachen) händischen Eingriff.


    Dann es mit 1.7.27 ja auch nicht weit sein, hoffe ich.


    Ein Eike: Was war denn das für ein einfacher händischer Eingriff?


    Grüße,Kokel

  • Weißt du woran das liegen könnte?

    Mit so einer alten Version ;) hab ich's noch nie probiert.
    Probier mal in cRecordControls::TryReuseRecording statt

    Code
    cReplayControl::SetRecording(runningRecording->FileName());


    das hier:

    Code
    cReplayControl::SetRecording(runningRecording->FileName(), runningRecording->Title());


    Ein Eike: Was war denn das für ein einfacher händischer Eingriff?

    In timers.h musste der Patch händisch gemacht werden,
    weil eine Zeile in der Nähe sich im VDR-Code geändert hatte.


    Ciao,
    Eike

  • cReplayControl::SetRecording(runningRecording->FileName(), runningRecording->Title());


    Danke, das hat jedoch nicht funktioniert:

    Code
    menu.c: In static member function ‘static bool cRecordControls::TryReuseRecording(bool)’:
    menu.c:4953:79: error: ‘class cRecordControl’ has no member named ‘Title’
    make[1]: *** [menu.o] Error 1


    Grüße, Kokel

  • Moin!


    Die schnelle Lösung ist, einfach NULL als zweiten Parameter zu übergeben, damit kann das ReplayControl um.


    Lars.

  • Hallo!


    Zwischenstand von gestern Abend:
    Ich hab's noch zum Kompilieren und Linken gebracht, brauchte dann noch einen Patch...
    und dann lief der VDR bei mir nicht, warum auch immer. Aus der Erinnerung (bin grad im Büro):
    Man muss GetRecordControl() von einer neueren VDR-Version rüberkopieren, weil das Plugin die benutzt.
    Was passiert, wenn man als zweiten Parameter NULL übergibt, weiß ich nicht, hab aber auf Anhieb
    auch nichts anderes gefunden.


    Ciao,
    Eike

  • Hallo!


    So, für die Nutzer älterer Versionen, hier testweise ein Patch für vdr 1.7.27 vanilla.
    Bei mir kompiliert und linkt es und hat einen minimalen Funktionstest absolviert.


    Alles ohne Gewähr!


    Nachtrag: Da der Patch so nicht zu funktionieren scheint und es inzwischen eine
    yaVDR-Testing-Version mit einem aktuelleren Patch gibt, habe ich den Anhang
    gelöscht. [Eike, 12. April]


    Ciao,
    Eike

  • Vielen Dank dafür!

  • Oh, ja natürlich. Habe bisher nur spärlich getestet, aber ich kann auf pause drücken und zurückspulen, das funktioniert schonmal.
    Grüße, Kokel

  • Wow, da hat sich klammheimlich einer drangesetzt. Ich bin platt :arme :cool1


    Und ich staune nicht schlecht das Klaus es irgendwann nach 2.0 als Core Feature sieht. :lovevdr


    Ich freue mich es demnächst mal vermutlich in yavdr0.5 unstable testen zu können.

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • Huch!


    hatte fast schon die Hoffnung aufgegeben, dass es nochmal etwas in Sachen LiveBuffer/Permanentes Timeshift geben wird, obwohl ich das Feature auch nach mehreren Jahren zwangsweise "Nichtnutzung" immer noch sehr vermisst habe. Die Info ist tatsächlich komplett an mir vorbei gegangen. Ich will hier auch nur reinschreiben, dass ich sehr sehr sehr froh bin, dass sich da jemand drangesetzt hat! Das freut mich extrem! (Merkt man kaum, oder?)


    Hab es selber noch nicht ausprobiert, kommt aber sicher in einer der nächsten Bastelphasen.


    viele Grüße, Nix

    • Server: Gigabyte H67-Board, i3-2120, 8GB Ram, 12 TB Video-Part., ca. 5000 Aufnahmen, 5x DVB-S (2x Cine S2, 1x USB), easyVDR 2.0 headless

    • WoZi-Client: Zotac ZBox ID86, Hama-MCE mit Harmony, keine Tuner, reiner Streaming-Client, easyVDR 2.0

    • zur Zeit wegen Pay-TV-Problematik leider nur E2-Infrastruktur

Participate now!

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