[mythtv] FW: [mythtv-users] CVS mythfrontend hangs uponentering"watch recordings" Problem with framesPlayed?

Asher Schaffer freedenizen at gmail.com
Mon Dec 6 16:34:20 UTC 2004


Well I have this problem regardless of if the backend is recording or
not.  This problem exists in the 11/30 CVS, but not 11/29, I've been
looking through the commits to try and see what would have caused
this.


On Sun, 05 Dec 2004 13:23:15 -0500, Shane Shrybman <shrybman at aei.ca> wrote:
>
> Ok, I might have narrowed this down a bit but I need help. I think the
> problem is with a improperly shared variable "framesPlayed" in
> NuppleVideoPlayer.cpp.
> 
> bool NuppelVideoPlayer::DoFastForward(void)
> {
>     long long number = fftime - 1;
>     long long desiredFrame = framesPlayed + number;
> 
>     if (paused && !editmode)
>         decoder->setExactSeeks(true);
>     decoder->DoFastForward(desiredFrame);
>     decoder->setExactSeeks(exactseeks);
> 
>     ClearAfterSeek();
>     return true;
> }
> 
> I am guessing the problem occurs when the backend is recording and we
> try to generate a preview image because framesPlayed is being updated by
> the by the recording process and is also being used by
> NuppelVideoPlayer::GetScreenGrab calling DoFastForward. This results in
> the desiredFrame being waaay to big and looping to death in
> DecoderBase::DoFastForward at this point:
> 
> while (desiredFrame > last_frame)
>     {
>         needflush = true;
> 
>         exitafterdecoded = true;
>         GetFrame(-1);
>         exitafterdecoded = false;
> 
>         if (!m_positionMap.empty())
>             last_frame =
> m_positionMap[m_positionMap.size()-1].index*                                                             keyframedist;
>         if (ateof)
>             return false;
>     }
> 
> This is my first experience with C++. So can anyone confirm or deny this
> analysis? Possible solutions?
> 
> Regards,
> 
> Shane
> 
> 
> _______________________________________________
> 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