Probleme mit Aufnahmeprioritäten und wahrscheinlich Devicebonding

  • Probier bitte obigen Patch mal mit deinen beiden Test-Szenarien aus.

    OK, das habe ich jetzt mal mit den beiden und weiteren, auch etwas komplexeren, Szenarien getestet.
    Das Ergebnis sieht soweit erst mal gut aus, in Version 2 von oben wird jetzt Aufnahme 1 und 3 ab Zeitpunkt C ausgeführt.


    Wenn ich in Version 1 von oben Aufnahme 1 und 3 auf die gleiche Sendung setze (also auch gleiche Anfangszeit) wird Aufnahme 1 deaktiviert. Das ist sicher so gewollt, da ansonsten die Aufnahmen nicht mehr unterschieden werden könnten. Wenn jetzt wie im Beispiel die Aufnahme 1 länger gehen würde als Aufnahme 3, dann wird natürlich nun die Differenz nicht aufgenommen, da ja deaktiviert.
    Ich weiß jetzt nicht, ob man dafür noch eine Lösung suchen sollte, oder ob man das einfach unter Verlust abbucht, man kann ja nicht wirklich alle Eventualitäten abfangen.


    Gruß
    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


  • Wenn ich in Version 1 von oben Aufnahme 1 und 3 auf die gleiche Sendung setze (also auch gleiche Anfangszeit) wird Aufnahme 1 deaktiviert. Das ist sicher so gewollt, da ansonsten die Aufnahmen nicht mehr unterschieden werden könnten. Wenn jetzt wie im Beispiel die Aufnahme 1 länger gehen würde als Aufnahme 3, dann wird natürlich nun die Differenz nicht aufgenommen, da ja deaktiviert.
    Ich weiß jetzt nicht, ob man dafür noch eine Lösung suchen sollte, oder ob man das einfach unter Verlust abbucht, man kann ja nicht wirklich alle Eventualitäten abfangen.


    Ich schau mir das nach der 2.0.0 evtl. nochmal an.


    Klaus


  • ...
    Es wäre schön, wenn auch möglichst viele andere diesen Patch testen könnten bzw. einen Kommentar dazu abgeben würden, ob er irgendwelche negativen Seiteneffekte haben könnte. Abhängig davon würde ich entscheiden, ob das noch in die finale Version 2.0.0 mit reinkommt oder nicht.


    Hat eigentlich noch irgend jemand diesen Patch ausprobiert?
    Wenn ich nicht wenigstens noch ein paar positive Rückmeldungen bekomme (sprich: "Der Patch hat keine unerwünschten Nebenwirkungen") kann ich den schlecht noch für die Version 2.0.0 aufnehmen.


    Oder sind alle zu erschöpft, nachdem sie sich so dermaßen über die neue facebook-Seite von VDR aufgeregt haben? ;)


    Klaus

  • Moin!


    Bin gestern leider nicht dazu gekommen, habe es aber heute Abend vor.


    Es geht doch um den Aufruf aus vdr.c, Zeile 941, richtig? Dann denke ich, ist die Funktion des Patches, dass bei jedem Schleifendurchlauf immer der nächste Timer zurückgegeben wird, damit alle Pending-Timer der Reihe nach durchprobiert werden. Werden neue Timer immer hinten an die Liste angehängt? Wenn ja, dann können keine nachträglich erstellten Timer verpasst werden, andererseits würden die ja auch später noch geprüft werden im nächsten Durchlauf.
    Ich hoffe/vermute, es ist auch kein Problem, wenn ein Timer vor "LastPending" gelöscht wird und dadurch LastPending einen Timer überspringt? Ich wüsste jetzt auch gerade nicht, wie ich das testen sollte, außerdem sitze ich gerade nicht am vdr. :)


    Dabei ist mir aufgefallen, dass in menu.c, Zeile 4359 die Meldung "no free DVB device to record channel %d!" nicht 100% richtig ist, es könnte ja auch ein Nicht-DVB-Device sein. Aber das ist nur Makulatur.


    Lars.


  • Es geht doch um den Aufruf aus vdr.c, Zeile 941, richtig?


    Ja.


    Zitat


    Dann denke ich, ist die Funktion des Patches, dass bei jedem Schleifendurchlauf immer der nächste Timer zurückgegeben wird, damit alle Pending-Timer der Reihe nach durchprobiert werden.


    Genau so ist es.
    Vorher hat bei mehreren pending Timers einer mit höherer Prorität immer überwogen und somit den mit niedrigerer Priorität "überdeckt". Die Überlegung war nun, daß die Priorität keine Rolle mehr spielt, sobald mehrere Timer pending sind.


    Zitat


    Werden neue Timer immer hinten an die Liste angehängt?


    Ja.


    Zitat


    Wenn ja, dann können keine nachträglich erstellten Timer verpasst werden, andererseits würden die ja auch später noch geprüft werden im nächsten Durchlauf.


    Die Reihenfolge sollte keine Rolle spielen, da ja eh bei jedem Durchlauf der Hauptschleife neu geprüft wird. Es kann also maximal "Zahl der pending Timer" Sekunden dauern, bis ein bestimmer wieder drankommt. Und da normalerweise wohl nur wenige bis gar keine Timer pending sind, dürfte das kein Problem sein.


    Zitat


    Ich hoffe/vermute, es ist auch kein Problem, wenn ein Timer vor "LastPending" gelöscht wird und dadurch LastPending einen Timer überspringt?


    Glaube ich auch nicht. Wie gesagt, nach ein paar Sekunden startet es eh wieder von vorne.


    Zitat


    Dabei ist mir aufgefallen, dass in menu.c, Zeile 4359 die Meldung "no free DVB device to record channel %d!" nicht 100% richtig ist, es könnte ja auch ein Nicht-DVB-Device sein. Aber das ist nur Makulatur.


    Ich halt's trotzdem mal für die 2.1.x fest.


    Klaus

  • Moin!


    Ich hab mal ein paar Tests durchgeführt. Ich hab ein Zwei-Karten-System, beide Karten können alles empfangen. Für die Ausgabe ist softhddevice da.
    Ich hab diverse, sich überlappende Timer angelegt und es wurde immer die aufgezeichnet, von denen man es erwartet.


    Hab ich einen Kanal gesehen, der nicht zu den Timern gehört und waren dann zwei Timer aktiv, so dass der Live-Kanal nicht mehr empfangen wurde, hielt das Live-Bild einfach an.
    Soll das so, oder sollte der vdr auf den nächsten verfügbaren Kanal umschalten?


    Lars.

  • Hab ich einen Kanal gesehen, der nicht zu den Timern gehört und waren dann zwei Timer aktiv, so dass der Live-Kanal nicht mehr empfangen wurde, hielt das Live-Bild einfach an.
    Soll das so, oder sollte der vdr auf den nächsten verfügbaren Kanal umschalten?

    Das war auch schon mal ein Fehler und sollte eigentlich in der aktuellen Version behoben sein. Bei mir, mit vdr-1.7.42, schaltet er dann auf den Kanal, den der zuletzt startende Timer benutzt. Ich habe hier allerdings Device-Bonding im Einsatz.


    Gruß
    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 war auch schon mal ein Fehler und sollte eigentlich in der aktuellen Version behoben sein. Bei mir, mit vdr-1.7.42, schaltet er dann auf den Kanal, den der zuletzt startende Timer benutzt. Ich habe hier allerdings Device-Bonding im Einsatz.


    Bei mir funktioniert das auch wie erwartet (hier ohne Device-Bonding).


    Klaus

  • Moin!


    Werde ich dann morgen noch mal intensiv testen/debuggen. Stört mich aber auch nicht so zwingend, dann muss man eben eine Taste drücken.
    Hauptsache, es wird alles aufgenommen, was aufgenommen werden kann.


    Lars.

  • Moin!


    Jetzt gerade eben beim Test hat das Live-Signal auf den nächsten freien Kanal umgeschaltet.
    Von meiner Seite aus gibt es keine Bedenken, dass der Patch noch in die 2.0 kann.


    Lars.

  • Moin!


    Kaum schreibt man's stoppt das Live-Bild... :)


    Ich hab vier Timer auf vier unterschiedlichen Transpondern gesetzt, alle mit unterschiedlichen Prioritäten und Start-/Endzeiten, aber alle überlappend. Live-Kanal ist auf einem fünften Transponder.
    Beim Start des ersten Timers fängt einfach die Aufnahme im Hintergrund an.
    Beim zweiten Timer wird das Live-Signal umgeschaltet.
    Der dritte hat eine zu niedrige Priorität, als dass er starten darf, aber der vierte läuft an, sobald einer der ersten beiden fertig ist.
    Das Live-Signal scheint dann aber auf den Kanal des dritten Timers schalten zu wollen, der aber noch nicht empfangen kann.


    Hab jetzt gerade aber nicht mehr genug Zeit, um das noch mal genauer zu testen. Da mit einem Kanalwechsel aber alles wieder gut ist und zum nächsten freien Kanal geschaltet wird, stört es mich persönlich nicht besonders.


    Lars.


  • Hab jetzt gerade aber nicht mehr genug Zeit, um das noch mal genauer zu testen. Da mit einem Kanalwechsel aber alles wieder gut ist und zum nächsten freien Kanal geschaltet wird, stört es mich persönlich nicht besonders.


    Für den Moment würde ich auch sagen es ist OK, wenn die Aufnahmen so funktionieren wie erwartet.
    Wenn du für die Live-Problematik ein nachvollziehbares Szenario hast, dann schaue ich mir das nach der 2.0.0 gerne nochmal an.


    Klaus

  • Hallo zusammen,


    folgende Problembeschreibung (auch schon an die Mailingliste ["recording problem: two timers on same channel are using both tuners of S2-6400"] gemeldet, aber bisher leider ohne Feedback):



    Natürlich macht es dabei keinen Unterschied, welches Programm aufgenommen wird, es geht nur um den "Use-Case". Dieser Fall tritt auf wenn man zwei Timer programmiert, die zeitlich versetzt auf dem gleichen Sender aufnehmen. Es werden beide Tuner gebunden und ein anderer Kanal kann nicht mehr angesehen werden. Der Fall tritt nicht auf, wenn auf verschiedenen Sendern, aber gleichem Transponder aufgenommen wird oder - natürlich, wenn auf zwei verschiedenen Transpondern aufgenommen wird, hier erwartet man eine Bindung beider Tuner und liveTV ist zwischen den Transpondern/Ebenen der beiden Aufnahmen möglich.


    Jetzt konnte ich den nachfolgend zitierten Patch als Problemverursacher identifizieren. Kommentiere ich die Quelltextzeile #10 aus, ist das Verhalten wieder wie gewünscht und wie in vorherigen Versionen. Eine Aufnahmen zeitlich versetzt auf dem gleichen Sender bindet nur einen Tuner, so wie im Fall von zwei Aufnahmen (z.B. auf Sat.1 und ProSieben) die auf dem gleichen Transponder/Ebene liegen.



    (...)
    Es wäre schön, wenn auch möglichst viele andere diesen Patch testen könnten bzw. einen Kommentar dazu abgeben würden, ob er irgendwelche negativen Seiteneffekte haben könnte. Abhängig davon würde ich entscheiden, ob das noch in die finale Version 2.0.0 mit reinkommt oder nicht.
    (...)



    Es wäre schön, wenn man im Vanilla-VDR das alte Verhalten wiederherstellen könnte. Am besten unter Beibehaltung der Problemlösung für den Author der Meldung?


    Viele Grüße und auch hier einen großen Dank für die gute Arbeit!


    Ingo

    HD-VDR
    Hardware: TT S2-6400, aktuelles Debian; DVB-Treiber aus dem CVS, VDR und DVBHdDevice aus dem CVS bzw. latest; Intel DH67BL mit Core i3 2.4GHz (alt: ASUS AT5ION-T mit Intel D525)

  • Prima.... das hat mich die ganze Zeit auch schon genervt. Gleichzeitige Aufnahmen auf z.B. "Sky Atlantic HD" und "Sky Cinema HD" haben mir die ganze Kiste blockiert. Hab mich die ganze Zeit gefragt, ob das vorher auch schon so war...


    Gruß
    iNOB

  • iseeberg / iNOB


    genau solche Fälle hatte ich damals getestet, allerdings bei mir nur in einer Devicebonding-Konfiguration.
    Zur Sicherheit habe ich das jetzt nochmal nachvollzogen und konnte diesen Effekt bei mir nicht feststellen.


    Folgendes Log zeigt, das er beide Aufnahmen auf Device 2 durchführt:


    Wenn ich mich recht besinne, gab es ähnliche Probleme mal in einer älteren Version, da hat dann Klaus bei der Devicebelegung noch was geändert.


    Nur nochmal zur Sicherheit gefragt: ihr habt diesen Effekt beim aktuellen VDR 2.0.2 ohne zusätzliche Patche und Plugins?


    gemeldet, aber bisher leider ohne Feedback):


    Klaus hat hier mal kund getan, das er momentan im Urlaub ist, muss ja auch mal sein.


    Gruß
    Karl

    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

  • Hallo,


    ja, der VDR ist aus den Quellen kompiliert (Vanilla, keine Patches). Allerdings habe ich mir nicht die Mühe gemacht und alle Plugins deaktiviert (auf das DVBHDDevice bin ich eh angewiesen). Ich vermute auch, das hier die Plugins keine große Rolle spielen. Wenn gewünscht, schalte ich gerne mal die aktivierten Plugins aus und mache einen Test mit der Minimalkonfiguration.


    Das Urlaubszeit ist, merkt man ja auch an den Aktivitäten der Mailinglist. Da ist es natürlich völlig legitim, die eMails und das Coding mal eine Weile zur Seite zu legen.
    Ich hatte mich nur gewundert, das auch von anderen kein weiteres Feedbacks dazu kam und mir war ein Verweis auf das ursprüngliche Thema/Posting wichtig.


    Bei mir funktioniert's bisher prima mit der auskommentierten Quelltextzeile. Ich habe allerdings auch immer gleiche Prioritäten verwendet, was ich vorher nicht erwähnt hatte.
    Etwas verwirrt bin ich über den Zusammenhang. Wieso diese Änderung dazu führt, das ein Tuner mehr belegt wird, erschliesst sich mir aktuell nicht. Ich denke sogar, ein auskommentieren der Zeile ist nicht die "korrekte" Lösung.


    Aber ich kann problemlos auf das Ende der Urlaubszeit warten ;)



    Viele Grüße
    Ingo

    HD-VDR
    Hardware: TT S2-6400, aktuelles Debian; DVB-Treiber aus dem CVS, VDR und DVBHdDevice aus dem CVS bzw. latest; Intel DH67BL mit Core i3 2.4GHz (alt: ASUS AT5ION-T mit Intel D525)

  • ...
    Aber ich kann problemlos auf das Ende der Urlaubszeit warten ;)


    Tja, hat insgesamt doch etwas länger gedauert, bis ich dazu gekommen bin, alle "angestauten" Dinge abzuarbeiten... ;)


    Ich habe vor ein paar Minuten auf dein Posting auf der VDR-ML geantwortet und bin jetzt wieder auf diesen Thread gestoßen. Wie bereits in meiner ML-Antwort geschrieben kann ich das Problem hier so ohne weiteres nicht nachvollziehen. Da muß es wohl noch Randbedingungen geben, die ich nicht kenne.


    Was ich getestet habe:


    - VDR mit -D0 -D1 gestartet (also nur die beiden Devices der TT-S2 6400)
    - Live-Programm (Das Erste HD) auf Device 1
    - Timer startet für Sat.1 auf Device 2
    - Ein weiterer Timer für Sat.1 startet einige Minuten später und benutzt ebenfalls Device 2


    - Gleicher Versuch wie eben, aber mit Wiedergabe einer Aufzeichnung statt Live-Programm
    - Beide Timer benutzen das gleiche Device 2


    - Kanal Sat.1 so eingestellt, daß er nur mit Device 1 empfangbar ist
    - Timer startet für Sat.1 auf Device 1
    - Live-Programm (Das Erste HD) auf Device 2 im Transfer-Mode
    - Kanal Sat.1 wieder so eingestellt, daß er mit jedem Device empfangbar ist
    - Ein weiterer Timer für Sat.1 startet einige Minuten später und benutzt ebenfalls Device 1


    Was könnte bei dir noch anders sein als bei mir?


    Klaus

  • Hallo Klaus,


    vielen Dank für deine Mühe. Habe mich auf die Benachrichtigungsfunktion verlassen, ... und jetzt erst deine Antwort bemerkt.
    Das kann ich mir im Moment auch nicht erklären. Ich hatte dies schon befürchtet, als kein anderer diesen Effekt bestätigt hat.


    Du hast mit deinem ersten Test schon eine identische Konfiguration zu meiner gewählt, denn in meiner Konfiguration gibt es auch kein Device-Bonding (aber in dem von Kamel5), also auch zwei getrennte Kabel. Die Änderung, welche ich bei mir abgeschaltet habe, stellt aber meinem Verständnis nach den Bezug zum Device-Bonding her.
    Interessant ist, das iNOB den Effekt auch festgestellt hat.


    Einen Unterschied könnte es geben: der VDR ist bei mir mit dem Kanal des Vorabend (ich bin mir unsicher, aber vielleicht auch SAT.1/ProSieben/Kabel) gestartet und wurde mit einem Timer-Event (Sat.1) aufgeweckt (ACPI). Während die erste Aufnahme noch läuft, startet die zweite, um die nachfolgende Sendung auf dem gleichen Kanal (Sat.1) aufzunehmen. Aufgrund der Überlappung bei Ende und Beginn der Sendungen, weil vielleicht schon das Livebild auf dem gleichen Sender getunt war, kommt es dann zu dem Effekt, das in dem überschneidendem Zeitraum kein Transponder für das Umschalten auf z.B. RTL oder "DasErste" zur Verfügung steht.


    Ich hatte und habe zusätzlich das Problem, das der VDR bei zwei Aufnahmen etwas instabil (besser ist "laggy") wird. Er hinkt den Benutzereingaben (per Ferbedienung) dann immer einige Sekunden hinterher, meist zu Beginn der Aufgaben bei der Ermittlung, ob ein Device für das Live-Bild zur Umschaltung zur Verfügung steht. Nach etwa 20-30 Sekunden wird dann ganz hektisch aufgeholt.


    Ich werde nochmal ein bisschen probieren, aber erstmal die neuen Versionen einspielen.
    Da ich diese immer aus den Tarballs kompiliere achte ich mal besonders penibel auf die Sauberkeit der Quellen.


    Ich meld' mich hier wieder, später würde ich ein evtl. Ergebnis dann auch in die Mailingliste setzen.



    Vielen Dank,
    Ingo

    HD-VDR
    Hardware: TT S2-6400, aktuelles Debian; DVB-Treiber aus dem CVS, VDR und DVBHdDevice aus dem CVS bzw. latest; Intel DH67BL mit Core i3 2.4GHz (alt: ASUS AT5ION-T mit Intel D525)

Jetzt mitmachen!

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