Aufnahmereihenfolge bestimmen mit Rotor Plugin

  • Ich habe momentan in meinem VDR 3 DVB Karten. Die erste ist eine FF Karte an der auch der Fernseher hängt, die 2te ist eine umgebaute Datenkarte und die dritte ist eine Budget Karte.


    Die ersten beiden Karten hängen an einer Schüssel mit Astra und Hotbird. Die dritte, also die Budget, hängt an einer Schüssel mit Rotor. Mit dem Sourcecaps Patch habe ich es so konfiguriert das die ersten beiden Karten nur Astra und Hotbird empfangen können und die Dritte alle hier möglichen Satelliten, auch Astra und Hotbird.


    Wenn nun eine Aufnahme startet wird logischerweise als erstes die Budget Karte benutzt.


    Nun zu meiner eigentlichen Frage. Bekomme ich es irgendwie hin das diese Budget Karte als allerletztes, also noch nach dem Primary Device zur Aufnahme benutzt wird ?

  • Hallo,


    du könntest cDevice::GetDevice() patchen. Dort wird entschieden, welche Karte für die Aufnahme benutzt wird. So zum Beispiel:


    Diff
    --- device.c.old        2006-10-14 13:21:35.000000000 +0200
    +++ device.c    2006-10-14 13:18:54.000000000 +0200
    @@ -296,6 +296,7 @@
              imp <<= 1; imp |= device[i]->Receiving();                                 // avoid devices that are receiving
              imp <<= 1; imp |= device[i] == cTransferControl::ReceiverDevice();        // avoid the Transfer Mode receiver device
              imp <<= 8; imp |= min(max(device[i]->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used)
    +         imp <<= 1; imp |= device[i]->CardIndex() == 2;                            // avoid card 3
              imp <<= 8; imp |= min(max(device[i]->ProvidesCa(Channel), 0), 0xFF);      // use the device that provides the lowest number of conditional access methods
              imp <<= 1; imp |= device[i]->IsPrimaryDevice();                           // avoid the primary device
              imp <<= 1; imp |= device[i]->HasDecoder();                                // avoid full featured cards


    Gruß
    Thomas

  • Hallo,


    nachdem ich die neue Zeile ganz nach oben über "Receiving" gepackt habe funktioniert es einwandfrei. An der Stelle wie Du es gepostet hast wurde das Primary Device noch bevorzugt.


    Danke !

  • Hallo,


    wenn du die Zeile über Receiving() eingefügt hast, kann es Nebeneffekte geben, die du wahrscheinlich nicht so haben willst. Zum Beispiel wenn gerade zwei Timer laufen mit Priorität 50 und dann ein neuer startet, mit höherer Priorität, dann wird dieser nicht auf der freien 3.Karte aufgezeichnet, sondern es wird der Timer, welche die 2.Karte belegt unterbrochen und der neue Timer nutzt die zweite Karte. Der unterbrochene Timer wird dann auf der dritten Karte fortgesetzt. Dann hättest du unnötigerweise eine kurze Unterbrechung in deiner Aufnahme.


    Daher solltest du die Zeile erst nach Receiving() einfügen. Dann sollte die 3.Karte erst benutzt werden, wenn die beiden anderen Karten mit Aufnahmen beschäftigt sind.

Jetzt mitmachen!

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