Beiträge von mh1962

    Der Dummy-Eintrag in der channels.conf sieht bei mir wie folgt aus:


    Code
    Dummy;IPTV:999:S=0|P=1|F=HTTP|U=127.0.0.1:I:0:1=2:2=@4:3:0:4:5:6:0

    Bei mir lauscht aber nix auf dem HTTP-Port von localhost.


    Entscheidend ist, dass die Einträge für SID/TSID/ONID und die verschiedenen PIDs nicht 0 sein dürfen, dann funktioniert es nämlich nicht.

    So, ich hab jetzt mein Problem ganz ohne Programmieren gelöst, mit einer ganz pragmatischen Idee: Ich habe einen Dummy-IPTV-Kanal eingerichtet, auf localhost, auf einem Port, wo sofort "port unreachable" kommt, weil da niemand lauscht. Wenn ich auf diesen Kanal "zappe", ist zwar das Zappen erfolgreich, aber da keine Daten kommen, werden auch keine dargestellt. Will ich, dass VDR wieder empfängt, schalte ich wieder auf einen echten Kanal. Mein Ziel ist erreicht.


    Trotzdem danke für die vielen Ideen, da hab ich noch einiges gelernt und werde da vielleicht noch die eine oder andere Sache ausprobieren.

    Hmm, es gibt ein cDevice::DetachAllReceivers(), und das würde möglicherweise sogar das tun, was ich will... aber ich möchte ja auch aus dem Zustand wieder raus kommen, es gibt aber kein cDevice::AttachAllReceivers()...


    Es gibt auch ein cReceiver::Activate(bool On), was sogar noch mehr so aussieht, als könnte es das tun, was ich will, aber auf den ersten Blick sehe ich keine Möglichkeit, alle Receiver zu enumerieren...

    Eine Möglichkeit wäre das Primary Device zu wechseln - dbus2vdr hat z.B. ein nulldevice-Frontend, das nichts empfängt, wodurch der Tuner frei bleibt: https://github.com/flensrocker…dr/blob/master/README#L80


    Man kann den VDR ab Version 2.3.9 das Primary Device über einen SVDRP-Befehl wechseln lassen: http://git.tvdr.de/?p=vdr.git;…d5e2c83b620;hb=HEAD#l9199


    Das einzige worauf man achten muss, ist dass das nicht mit allen Skins klappt, weil die Crashen, wenn das erstellen von Pixmaps zur Anzeige des OSD nicht klappt.

    Danke, das ist der beste Ansatz, auf den bin ich nicht gekommen.


    Ich hatte zwischenzeitlich noch mit dem PluginManager experimentiert, das würde zumindest mal in Verbindung mit iptv funktionieren, weil das ein Plugin ist, aber nur wenn man sehr genau weiß, was das Plugin in welcher Function macht. Ist somit letztendlich ziemlich krude.


    Das mit dem Primary-Device ist sehr straight forward und dürfte unter dem Strich meine Erwartungen erfüllen, danke!

    Danke! Das ist zwar nicht GANZ das, was ich suche, denn da geht es - wenn ich das README richtig verstehe - anscheinend mehr darum, den Zugriff von VDR auf USB-Tuner zu regeln (weil die ja "hotpluggable" sind), aber ich werde mir mal die Source angucken, wie dieses Plugin die Devices attacht und deattacht. Vielleicht finde ich dann einen Ansatz, um das auch auf beliebige Devices anwenden.

    Hallo, ich beschäftige mich grade intensiver mit VDR und habe das Programm für so einige Dinge schätzen gelernt. Grade auch Erweiterungen der Funktionalität sind durch das Plugin-System und die strikt Objekt-orientiere Programmierung sehr einfach möglich.


    Jetzt hab ich aber auch mal eine Frage: Ich hätte ab und zu mal den Wunsch, dass der VDR weiter läuft (und z.B. ein Plugin von mir ausführt), aber halt mal für eine bestimmte Zeit (also bis ich es ihm wieder erlaube) einfach mal KEINEN Sender empfängt. Also quasi ein disablen oder suspendieren des ganzen Tuners oder zumindest des momentan empfangenen Kanals.


    Ich kenne das Plugin suspendoutput, aber das macht NICHT das, was ich will. Denn suspendoutput zeigt zwar nichts mehr an, empfängt aber den Kanal immer noch, z.B. trudeln bei einem IPTV-Kanal weiter munter Daten ein, werden aber nicht dargestellt. Ich will aber (in dem Fall), dass auch der IPTV-Datenstrom beeendet wird. Dies zum Verständnis des Hintergrundes.


    Hab ich nur was übersehen oder gibt es dafür wirklich keinen Ansatz? Die passende API zu kennen würde mir reichen, wenn es sie gibt, ein Plugin kann ich mir dann selber schreiben.