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

MythTV mythtv at cvs.mythtv.org
Sun Dec 25 22:59:54 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:          
--------------------------------+-------------------------------------------
Comment (by ijr):

 When you call avcodec_flush_buffers, it doesn't just flush the buffers, it
 resets the entire decoder state, even parsing.  This simply cannot be
 called after a seek, unless we're decoding a keyframe next.

 Part of the issue also could be the change to the 'skipframes' loop.  For
 exact seeking, we need to actually decode those frames so it can
 successfully decode and display something in the middle of a gop, and that
 loop looks like it is no longer doing so.

 The change to AVFD::Reset(bool, bool)'s call of SeekReset to flush frames
 is also likely wrong - that's called after what should be a seamless file
 change, so it certainly shouldn't be flushing the decoder.  I don't think
 the HandleStreamChange callback should be flushing out the video frames,
 either.

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


More information about the mythtv-commits mailing list