[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