Wirbelscan schreibt channels.conf nicht ...

  • Hallo zusammen,


    ich betreibe zu Hause ein verteiltes Setup mit diversen XBMC-Client's und einem kleinen Server der DualPort DVB-S2 und VDR auf einem Ubuntu 12.04 zur Verfügung stellt. Anfang dieser Woche gab es bei SKY einige Änderungen, die es nötig machen, die channels.conf zu updaten. Bis dahin war diese statisch via channelpedia gefüttert.


    Nun dachte ich mir, das es ja möglich sein sollte, via vdr-plugin-wirbelscan die Updates zu bekommen. Aber irgendwie scheint er sie nicht zu schreiben.




    Trotz verbosity 5 und vdr-restart finde ich keinen Anhaltspunkt auf ein Fehlverhalten. Vllt. habt Ihr na noch nen TiP für mich ...



    Viele Grüße




  • Das ist richtig ;)


    Aber trotzdem schreibt wirbelscan die channels.conf nicht ;(

  • wirbelscan schreibt niemals die channels.conf, wenn dann schreibt vdr selbst.
    query fragt Status und Setup Einstellungen des Plugins ab, aber startet keinen scan.

  • das query hab ich hier nur gepostet, damit Ihr meine Einstellungen kennt :)


    Gestartet hab ich den scan immer so wie jetzt gerade:




    Danach dann den VDR neu gestartet.

  • updateChannels auf 5 und die Kanäle kommen von allein.


    Gruß
    hepi

    Ohne Wirbelscan?

  • Genau.

    Na das find ich ja mal GEIL, und ich brech mir hier einen ab ^^

  • updateChannels auf 5 und die Kanäle kommen von allein.


    Gruß
    hepi


    Ja und nein. Mit updatechannels kommen die Transponder automatisch, die auf den bereits bekannten Transpondern angekündigt sind. Was zu 99% ausreichen sollte.

  • wirbel: Das Dilemma ist: Ich will ja niemandem davon abraten, w_scan zu benutzen. Aber viele wollen schnell pragmatisch ein Praxisproblem lösen und ich will nicht viel schreiben. Weil, wenn ich schon unzählige Stunden Arbeit in Channelpedia investiere, will ich den Leuten nicht auch noch Grundlagen erklären, die sie sich eh nicht merken können.


    Gruß
    hepi

  • Hepi, ich habe nicht dazu geraten, w_scan zu nutzen, nur eine Ergänzung zu deinem Text geschrieben. *anmerk*




    [OT]
    Ich wäre schon zufrieden, wenn das wirbelscan Plugin nicht ständig abschmieren würde... :(
    [/OT]


    mini73 hat dich doch schon auf die korrekte Fährte gesetzt im passenden Beitrag.

    Code
    #0  0x0000000000488e89 in cChannel::Name (this=0x0) at channels.c:128
    No locals.
    #1  0x00007f8d79d2fad6 in cScanOSD::Update (this=0x8d1f100) at scanmenu.c:661
            buf = "[", ' ' <repeats 32 times>, "]\000\276\214\177\000\000\311\354\177\217\377\177", '\000' <repeats 22 times>, "\001\000\000\000\bb\376\216\215\177\000\000\000\000\000\000\000\000\000\000\b.L\276\214\177\000\000\340-L\276\214\177", '\000' <repeats 14 times>"\350, \003\000\000\240-L\276\214\177\000\000\242D\263Q\000\000\000\000\003\000\000\000\000\000\000\000\000\220f\217\215\177\000\000\300\071L\276\214\177\000\000\000\000\000\000\000\000\000\000\300-L\276\214\177\000\000\300\267\376\216\215\177\000\000\300\071L\276\214\177\000\000\000\220f\217\215\177\000\000\032\065U", '\000' <repeats 13 times>"\340, -L\276\214\177\000\000P.L\276\214\177\000\000_5U", '\000' <repeats 17 times>"\350, \003\000"
            sbuf = {_vptr.cString = 0x7d17f0 <vtable for cString+16>, s = 0x7f8ca4327c30 "[", ' ' <repeats 32 times>, "] (1% transponders from scan list + 0 queued)"}
            i = 35
            running = 3
            hh = 0
            mm = 0
            ss = 3


    channels.c:121ff

    Code
    const char *cChannel::Name(void) const
    {
      if (Setup.ShowChannelNamesWithSource && !groupSep) {
         if (isempty(nameSource))
            nameSource = cString::sprintf("%s (%c)", name, cSource::ToChar(source));
         return nameSource;
         }
      return name;     //<<< channels.c: 128
    }


    scanmenu.c:659ff

    Code
    switch (Channels.Count() - channelcount0) {
             default:;
             case 5: TV5->SetText(Channels.GetByNumber(Channels.Count()-4)->Name()); //<<< scanmenu.c661
             case 4: TV4->SetText(Channels.GetByNumber(Channels.Count()-3)->Name());
             case 3: TV3->SetText(Channels.GetByNumber(Channels.Count()-2)->Name());
             case 2: TV2->SetText(Channels.GetByNumber(Channels.Count()-1)->Name());
             case 1: TV1->SetText(Channels.GetByNumber(Channels.Count()-0)->Name());
             case 0:; 
             }


    cOsdItem::SetText() bekommt vermutl. einen Null Pointer übergeben; so wie ich das lese, weil Channels.GetByNumber(Channels.Count()-4) == NULL ist.
    channelcount0 wurde initialisiert mit der Anzahl der Kanäle vor dem Scan. Es gibt also fünf neue Einträge in der Liste 'Channels', Aber Channels.GetByNumber() liefert wohl einen Null Pointer zurück, wenn nach dem Kanal vier Sender vom Ende der Liste entfernt gefragt wird.


    Da meine VDR Version von 2.0.2 meilenweit entfernt ist, kann ich's zZ nicht testen, mich wundert sowieso wie der Quellcode unverändert mit 2.0.2 kompiliert.
    Ich setze mich erst wieder dran, wenn ich auf eine neue VDR Version umsteige.

  • Schade eigentlich, hab nämlich das gleiche Problem.

  • cOsdItem::SetText() bekommt vermutl. einen Null Pointer übergeben; so wie ich das lese, weil Channels.GetByNumber(Channels.Count()-4) == NULL ist.
    channelcount0 wurde initialisiert mit der Anzahl der Kanäle vor dem Scan. Es gibt also fünf neue Einträge in der Liste 'Channels', Aber Channels.GetByNumber() liefert wohl einen Null Pointer zurück, wenn nach dem Kanal vier Sender vom Ende der Liste entfernt gefragt wird.


    Danke für die umfangreiche Antwort, aber da ich kein "C" kann, hättest Du es auch genauso gut in Suaheli schreiben können. :)


    BTW: Ich will ja diesen Thread nicht hijacken und schlage vor dass wie hier diese Problem weiter bearbeiten:


    Segfault mit Wirbelscan Plugin, bzw. Wirbelscancontrol

Jetzt mitmachen!

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