[mythtv] Re: [mythtv-commits] Re: Ticket #743: Fix "program not found in PAT" problem.

Daniel Kristjansson danielk at cuymedia.net
Sat Dec 3 12:07:18 EST 2005


On Sat, 2005-12-03 at 00:37 +0000, Stuart Auchterlonie wrote:
> On Fri, Dec 02, 2005 at 10:51:06PM +0000, Stuart Auchterlonie wrote:
> My suspicion is that the data has been read off the demux,
> but due to whatever reason hasn't been processed, when a channel
> change goes through, leading to the race condition.

I'm assuming you are using Linux 2.6.12 or later, if not upgrade 
and see if the problem goes away. The detection of the end of tuning
is known to not work on some pre-2.6.12 drivers. The problem is
that the event interface wasn't well defined so some drivers
implemented something that worked in practice, and others did not.
The code in MythTV tries to work with the old broken interface
in dvbchannel.cpp's wait_for_backend() and according to what one
of the DVB guys told us should always work with the drivers
included with Linux 2.6.12+. There is a more detailed explanation
in the doxygen documentation for the function.

> Am I right in saying that the tuning process and monitoring are
> done in separate threads? Since, AFAIK the signalmonitor runs in
> it's own thread, as does the eit crawler.
Yes, separate threads. The EIT crawler thread doesn't do the tuning
though, the recorder's tuning thread does it. This was done to avoid
race conditions. :)

-- Daniel



More information about the mythtv-dev mailing list