[mythtv] [patch] Fix for sluggish pause

David Engel gigem at comcast.net
Sun Dec 5 04:26:58 UTC 2004


On Sat, Dec 04, 2004 at 01:54:30PM -0500, Isaac Richards wrote:
> > > The bigger issue, though, is that there's a _lot_ of code that assume
> > > that NVP::Pause blocks until certain threads are paused, which isn't true
> > > with this patch anymore.
> >
> > OK, that can be handled rather easily.  You do realize, though, there
> > is always the case where a full live TV buffer will cause a forced
> > unpause.
> 
> Right.
> 
> [...]> 
> > > > Whether we add a lock or not, I still think we should strongly
> > > > consider the change to return early from NVP::GetFrame.  Try changing
> > > > between 1/16 speed and paused to see why.
> > >
> > > As long as it sleeps in GetFrame for a bit.
> >
> > It will.  It will jsut be capping the max time it sleeps to something
> > like 10ms.
> 
> That works for me.

Alright, then.  I believe this version takes care of all known issues
except two.  First, there is still an issue with commercial flagging.
It's known and solvable, but I'm going to defer to Chris on which way
he wants to go.  Second, there appears to be a new problem with ff/rew
using the ivtvdecoder.  I need to look at it.

Changes in this version as I remember them:

Some cleanup.  The big if in the decoder loop is now a small if that
calls NVP::DoPause or NVP::DoPlay.

Re-instatement of the decoder_lock to hopefully fix any races.

Honoring of waitvideo when pausing and unpsuseaudio when playing.

NVP::Pause doesn't return until the decoder loop actually pauses.

Allow early returns from NVP::GetFrame.  Return value is true if a new
frame was actually decoded and false otherwise.

Removal of a framesPlayed != framesRead hack which caused a no longer
needed rewind when entering edit mode.

David
-- 
David Engel
gigem at comcast.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: speed2.patch.gz
Type: application/octet-stream
Size: 4908 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20041204/0ef816b0/speed2.patch-0001.obj


More information about the mythtv-dev mailing list