[mythtv] [PATCH] Workaround for hangs when ffwd/rewinding video

Paul Andreassen paulx at andreassen.com.au
Wed Sep 27 13:53:25 UTC 2006


On Wed, 27 Sep 2006 04:52 am, Matt Holgate wrote:
> Paul Andreassen wrote:
> > I've just noticed that I can no longer pause and move frame by frame.
>
> I can't reproduce this myself - frame advance/rewind seem to work fine
> for me.
>
> Does this happen every time? Is there anything useful in the
> mythfrontend log? Were you literally pressing pause then using the fast
> forward/rewind buttons? And are you running 0.20-fixes (I'm not running
> the *very* latest 0.20-fixes, rather one checked out soon after the
> release).
>
> I noticed that there are potentially other race conditions with calls to
> PauseVideo()/UnpauseVideo() - both the StartPlaying() thread and the
> input thread can call these functions, potentially interfering with each
> other. This is especially problematic when we end up in an infinite loop
> (like the case which my patch works around).
>
> My fix was a workaround for one manifestation of this race, but there
> are potentially others (for example, if the user quickly pauses the
> video while the ffwd code is trying to unpause it, we end up in another
> infinite loop):
>
>                    UnpauseVideo();
>                      while (GetVideoPause())
>                         usleep(1000);
>
>
> I wonder if we need some extra synchronisation here? I don't know the
> code well enough to comment, but perhaps a reference count and lock on
> the video pause/unpause would help?
>
> thanks in advance for any help with this,
> Matt.

I just did another test and can't reproduce it.  It may have been my annoying 
remote.

Sorry for the drama,
Paul
-- 


More information about the mythtv-dev mailing list