[mythtv] Channel change time
Daniel Kristjansson
danielk at cuymedia.net
Sun Jun 6 23:49:52 UTC 2010
The most likely thing is that there is a bug in UpdateValues()
and it taking too long to run. It should take at most 1 or 2 ms
for SignalMonitor to work correctly. UpdateValues() is virtual
so you need to look for the one specific to your device. Probably
DVBSignalMonitor.
-- Daniel
On Sun, 2010-06-06 at 22:10 +0100, James Courtier-Dutton wrote:
> On 6 June 2010 20:50, Janne Grunau <janne-mythtv at grunau.be> wrote:
> > On Sun, Jun 06, 2010 at 12:21:02PM +0100, James Courtier-Dutton wrote:
> >>
> >> I have found out where the 2 second delay is.
> >> MPEGStreamData *streamData = NULL;
> >> if (HasFlags(kFlagWaitingForSignal) && !(streamData =
> >> TuningSignalCheck())) {
> >> return;
> >> }
> >>
> >> So maybe this long channel change time is caused by the
> >> "TuningSignalCheck()" function call.
> >
> > Does it takes 2000ms for a single function call or 2000ms until
> > TuningSignalCheck() returns non-NULL?
> >
>
> It is for a single function call.
> I have narrowed it down further.
> The new function is:
> void SignalMonitor::Stop()
>
> which is called from within TuningSignalCheck()
> void SignalMonitor::Stop()
> {
> DBG_SM("Stop", "begin");
> {
> QMutexLocker locker(&startStopLock);
> if (running)
> {
> exit = true;
> pthread_join(monitor_thread, NULL);
> }
> }
> DBG_SM("Stop", "end");
> }
>
> I am not sure why this would take 2000ms to execute yet. I will have
> to look at the termination parts of monitor_thread().
> I will be doing further analysis another day as it is getting late now.
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
More information about the mythtv-dev
mailing list