[mythtv] I can't get Live TV with DVB-T...

Enrico Rubboli erubboli at tiscali.it
Sun Nov 23 09:07:32 EST 2003


Alle Sunday 23 November 2003 09:16, Denis Grilli ha scritto:
> Alle 23:53, sabato 22 novembre 2003, Kenneth Aafløy ha scritto:
> > If the backend (for whatever reason; loss of signal, wrong pids, ...)
> > does not receive data from the capture card, the frontend will appear to
> > lock up trying to receive a datastream (wait forever).
>
> Exact
>
> > Make sure that you actually have a lock on a frequency first (use
> > 'mythbackend -v channel' to get more info). If there is still nothing
> > coming out of the card, one of the other channel parameters are most
> > probably wrong (usually the pids). You can test the signal parameters
> > (everything except pids) with the signal monitor you get if you patch
> > your cvs checkout with the patch located here (look on under card
> > configuration/advanced): http://home.no/mythtv-dvb
>
> I not found dvb patch but i think that is all in cvs now....however i have
> dvb-s that work regulary.
> Problem is that in any case it go wrong....
> For example: i watch a channel (it work fine) ,i change it for a channel
> without signal ( a temporary failture)(you can simulate it detaching
> antenna cable) and frontend "wait forever" without possibility to still
> change (or exit) channel.

I have the same problem! I've compiled the cvs in debian, a have a skystar2 
dvb-s card and all seems to work correctly, but when i switch into a 
scrambled channel my frontend hangs. 

I've tried to change the loop into RingBuffer.cpp to:

/* (this is not a patch, do not use!!) */

int count_test=0;
while (avail < count && !stopreads){
	availWaitMutex.lock();
        wanttoread = count;
        if (!availWait.wait(&availWaitMutex, 2000))
		cerr << "Waited 2 seconds for data to become available, waiting "
		"again...\n";
        wanttoread = 0;
        availWaitMutex.unlock();
        avail = ReadBufAvail();
        if (ateof && avail < count)
		count = avail;
        count_test++;
        if(count_test == 3)  //after 6 seconds i leave the loop!
           break;
}

/* end loop*/

And after 6 seconds i can switch into another channel...  but this is not a 
clean solution!  ;) 
I think that a real solution need to be a OSD message whith the reported error 
from backend, something like : "ERROR: Encrypted channel!" but i don't know 
how to do it.

Another problem regards the backend, when i kill the frontend (or it have a 
segfault), the backend crash... segfault.
I've seen this only in CVS version!

Bye,
 Enrico.




More information about the mythtv-dev mailing list