noad-plugin statt externes program fur vdr-1.7.3+

  • Ich versuche das Noad Programm zu einem Plugin zu "porten", so dass es auch für vdr-1.7.3> zu gebrauchen sei.


    Wenn ich conform PLUGINS.html ein receiver in meinem plugin aufnehme:


    ...sagt den Kompiler:

    Code
    [root@videoserver2 noad]# make
    g++ -ggdb -Wall -Woverloaded-virtual -fPIC -c -DUSE_DDEPGENTRY -DUSE_JUMPPLAY -DUSE_PINPLUGIN -DUSE_SOURCECAPS -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"noad"' -I/usr/local/src/s2-liplianin-svn-20012009/linux/include -I/usr/include/ImageMagick -I/usr/local/src/s2-liplianin-svn-20012009/linux/include -I../../../include noad.c
    noad.c:30: error: definition of implicitly-declared ‘virtual cMyReceiver::~cMyReceiver()’
    noad.c: In member function ‘virtual void cMyStatusMonitor::Recording(const cDevice*, const char*, const char*, bool)’:
    noad.c:60: error: cannot allocate an object of abstract type ‘cMyReceiver’
    noad.c:17: note:   because the following virtual functions are pure within ‘cMyReceiver’:
    ../../../include/vdr/thread.h:93: note:         virtual void cThread::Action()
    noad.c:61: error: passing ‘const cDevice’ as ‘this’ argument of ‘bool cDevice::AttachReceiver(cReceiver*)’ discards qualifiers
    noad.c:65: error: ‘Receiver’ was not declared in this scope
    make: *** [noad.o] Error 1


    Was mach ich falsch?


    Eine zweite frage: via den "Recording" funcion aus cStatus kann ich monitoren das ein Recording started; ich habe dan auch filename und device.
    Aber den Receiver braucht auch den ChannelId und den video-pid (in Erster Stufe analysiert den Plugin nur video, kein audio). Den ChannelID kan mann statt den Beispeil aus PLUGINS.html via den :cReceiver(tChannelID() ... function bekommen, aber wie/wo bekomme ich den video-pid den gebraucht wird für diesen spezifischen laufenden Recording? Kann ich den int pids[] variable aus cReceiver irgendwie lesen?


    Danke!

  • sofern ich gerade sehe, hast du die methode Action noch nicht implementiert, die wird aber explizit vorgeschrieben.


    Ein paar mehr Dateien wären hilfreich, da sich das ganze über mehrere Datein erstreckt.


    Korrekturlesen


    vielleicht hilft die Doku noch etwas weiter. (Kleine Bemerkung: hat immer noch niemand Korrekturgelesen =maybe Error inside *gg*)


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

  • Quote

    Originally posted by methodus
    sofern ich gerade sehe, hast du die methode Action noch nicht implementiert, die wird aber explizit vorgeschrieben.


    ...ein leere Aktion ist auch eine Aktion!


    Die ganzen test-code:


    Nichts spezielles, wie man sehen kann...

  • Der Fehler ist recht einfach: du hast einen Destruktor deklariert, aber in der Klassendefinition vergessen.


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

  • Wie ist denn der aktuelel Stand? Wäre schon genial, wenn sich im Bereich Noad mal wieder was tun würde. Ist ein Betrieb von Noad als Plugin denn überhaupt möglich? Noad als Prozess ist ja immer parallel zu VDR gelaufen. Kann man das so einfach in den VDR-Prozess packen?

  • Ich habe bin das Projekt gestoppt, und habe mythcommflag (Teil von Mythtv) installiert.


    Noad ist einerseits sehr "verknupft" met vdr, grösse Teile von einer alten VDR-version sind ein-kopiert, und anderseits mit libmpeg. Auch scheinen Teile der Kode überflüssig zu sein (VNOAD, whatever that may be).


    Für mich gibt das "worst of both worlds", so ich habe einfach ein Alternativ gesucht.


    Mythcommflag hat fünf methoden zum detectieren von Commercials, den logo-funktionalität geht nicht am .vdr oder .ts streams, aber "blank" und "blankscene" gehen gut!

  • Schade. Gerade so Dinge wie AC3-Detektion gehen so verloren.


    Es bleibt also dabei, dass es an einer Lösung hapert, die für VDR gedacht ist.


    Bleibt die Hoffnung, dass sich jemand findet, der den "alten noad" für TS kompatibel macht, sobald VDR 1.8 oder gar 2.0 kommt.

  • Quote

    Original von theNoad
    noad für TS ist bei mir schon im test, einfach abwarten


    Schön zu hören, da schlägt das Herz doch gleich höher

    VDR1.7.12 + ExtPatch on openSuSE 11.1 2.6.27.45-0.1-default (x86_64) gcc 4.3.2 r141291
    1xNexus (fw:f12623) ** 3xTeVii S650 ** Alphacrypt/SKY ** DVB-Treiber 7.6.09cvs ** 7" GraphTFT ** VOMP on MediaMVP ** zendeb 0.4.0.b1 on S100 ** 4ch Atmolight
    Xine-lib-1.2 20100412(vdpau) +DFextPatch ** XINE-UI ** Nvidia GT240 (260.19.36) ** Samsung LE46C650 ** istreamdev-git_20110216 to IPhone

  • Also TS+H.264-Noad ist das einzige, was mir bei meinem HD-VDR 1.7.8 noch fehlt. Super genial, dass es weiterentwickelt wird!


    Ok, das Spulen in den TS-Aufzeichnungen spinnt momentan noch, das ist ein kleiner Schönheitsfehler. Und ein Burn für einfache Blu-ray Discs wäre natürlich genial, aber das ist eine andere Sache...

  • Ok, stimmt, Noad sollte einfach mal TS unterstützen, für H.264 braucht man es schliesslich noch nicht wirklich, da die mir bekannten HD-Sender kaum oder gar keine Werbung senden ;D

  • Freut mich auch! :tup
    Noad ist eines der wohl genialsten Features im Zusammenhang mit VDR.


    Wenn im neuen Noad auch noch die alten Aufnahmen unterstützt würden, und vorhandene Patches einfließen würden, wäre das natürlich noch genialer!

  • Quote

    Original von theNoad
    noad für TS ist bei mir schon im test, einfach abwarten


    :] Super!


    Da von dir so lange nichts zu hören war, hat sich etwas "Wildwuchs" um Noad breit gemacht. Ist dir die inoffizielle Version 0.6.1 bekannt?


    http://rsync16.de.gentoo.org/files/noad/


    Inzwischen gibt es noch weitere Anpassungen, die - hoffentlich vollständig - in einem GIT-Repository verfügbar sind:


    http://git.gekrumbel.de/?p=noad.git


    Tom

Participate now!

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