[mythtv] [patch] DVB EIT fixes

Kristian Kalweit kalweit at exorpro.de
Thu Jan 27 09:25:39 EST 2005


John Pullan schrieb:

>yes.
>
>SIParser should signal SIScan via the EventsReady signal.
>The actual EIT data is then added in SIScan::AddEvents. (thats where the
>actual Insert code is)
>
>--
>John
>
>  
>
Thanks John, Thanks Taylor.

Seems in my backend the EVENTS for siparser/siscan not working 
correctly. In siparser.cpp I get the debug output from

        fprintf(stdout, "EIT_EVENT: LanguageCode='%s' Event_Name='%s' 
Description='%s'\n", e.LanguageCode.ascii(), e.Event_Name.ascii(), 
e.Description.asci$

Next line the Event is added to a table.

Looking at threads loop of scanner:

void SIScan::StartScanner()
{
    SIPARSER("Starting SIScanner");
    scannerRunning = true;
    threadExit = false;

    while (!threadExit)
    {
        usleep(250);
        if (eventsReady)
        {
            SISCAN(QString("Got an EventsQMap to process"));
            pthread_mutex_lock(&events_lock);
            bool ready = eventsReady;
            eventsReady = false;
            pthread_mutex_unlock(&events_lock);
            if (ready)
                AddEvents();
        }

OK, I see the start of  SIScanner.
I never see the output "Got an EventsQMap to process"

I now I put a printf in EventsReady:

void SIScan::EventsReady(QMap_Events* EventList)
{
// DEBUG FOR CHANNEL CHANGE LOCKING
//    return;
    printf("EventsReady Event fired.");

Never see this in log. Locking back to SIParser:
The only call which fired the ReadyEvent is in 
SIParser::CheckTrackers(). But I also see the output from
            SIPARSER(QString("Table[%1]->EmitRequired() == 
true").arg((tabletypes) x));
in my log :-).

Where x is 1 ist this an EVENT? I don't find the const for this.

Kristian.


More information about the mythtv-dev mailing list