[mythtv-commits] Re: Ticket #868: [8350] breaks mpeg2 decoding during frame advance

MythTV mythtv at cvs.mythtv.org
Sun Dec 25 12:14:05 EST 2005


#868: [8350] breaks mpeg2 decoding during frame advance
--------------------------------+-------------------------------------------
 Reporter:  bjm <bjm at lvcm.com>  |        Owner:  danielk 
     Type:  defect              |       Status:  assigned
 Priority:  major               |    Milestone:  0.19    
Component:  mythtv              |      Version:  head    
 Severity:  medium              |   Resolution:          
--------------------------------+-------------------------------------------
Changes (by danielk):

  * priority:  minor => major

Comment:

 Ok, so the problem is that we are placing frames that avlib has not yet
 released on the available queue. This has always been a problem, but
 somehow was less problematic before my changes in [8350]. This is done in
 the SeekReset() and in ClearAfterSeek(). ClearAfterSeek() does have a big
 fat warning in it about being unsafe. It works when we seek past the next
 keyframe or backward because we don't need past frames when we do that,
 but if we seek forward within the GOP the only thing making things work
 before was that buffers are fetched from VideoBuffers is in FIFO fashion.
 When on occasion this didn't work we got glitches even before these latest
 changes; By placing the buffers on the available queue in a slightly
 different order [8350] has made this occur 90% of the time rather than 10%
 of the time.

 The solution is to track whether avlib is done with the frame, and not
 place it on the available queue until avlib really is done with it. I'll
 start working on the fix on Tuesday...

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/868>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list