[EMAIL PROTECTED] wrote:
Author: danielk
Date: 2005-08-25 01:37:37 +0000 (Thu, 25 Aug 2005)
New Revision: 7128
Changeset: http://cvs.mythtv.org/trac/changeset/7128
Modified:
trunk/mythtv/libs/libmythtv/dvbchannel.cpp
Log:
Another part of the "DVB channel flipping" fix.
This flushes all DVB frontend events before tuning and then
waits for the first event after the tune.
My first inclination would have been to wait for an event
with a status of FE_HAS_SIGNAL, but my card at least doesn't
send any events after the first one (with no flags) until
there is a lock.
After these event changes, I get no lock notification in an existing
transport scan.
I'm using a dvb-ttpci.
2005-08-25 10:21:05.070 SIParser: Resetting all Table Handlers
2005-08-25 10:21:05.070 SIParser: SIParser Reset due to channel change
2005-08-25 10:21:05.073 DVB#0 Frequency: 10714250 Symbol Rate: 22000000
Pol: H/L Inv: Auto
2005-08-25 10:21:05.073 DVBEvents: Flushing Event
Status(Signal,Carrier,FEC Stable,Sync,Lock,) frequency(963491 Hz)
2005-08-25 10:21:05.074 DVB#0 DiSEqC 1.0 Switch - Port 0
If we look at how szap does it, it's waiting for:
ioctl(fe_fd, FE_READ_STATUS, &status);
...
if (exit_after_tuning && ((status & FE_HAS_LOCK) || (++timeout >= 10)))
break;
Yes, this isn't even as clean as polling for events.
I'll work on a patch later, if this is as simple as I think.
Cheers,
Allan.
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev