[mythtv-commits] mythtv commit: r26499 by markk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Fri Sep 24 17:04:48 UTC 2010


      Author: markk
        Date: 2010-09-24 17:04:48 +0000 (Fri, 24 Sep 2010)
New Revision: 26499
   Changeset: http://svn.mythtv.org/trac/changeset/26499

Log:

Allow AvFormatDecoder to drain video buffers from the CrystalHD decoder.

PrivateDecoderCrystalHD can receive a burst of decoded frames a
significant period after packets have been submitted for decoding and
under certain conditions this can cause a deadlock as the audio driver
buffers are already full but the VideoOutput class still hasn't received
those video frames.

AvFormatDecoder::GetFrame, however, will only ever retrieve one frame
for each packet submitted and hence once there is a backlog, it is
unlikely to be cleared.

There is, for the time being, significant code duplication between the
new method and the existing ProcessVideoPacket method. Post release
these can probably be refactored. In addition, the new code can only be
triggered by the CrystalHD decoder, so there should be no impact on
other decoders/renderers etc for 0.24.


Modified:

   trunk/mythtv/libs/libmythtv/avformatdecoder.cpp
   trunk/mythtv/libs/libmythtv/avformatdecoder.h




More information about the mythtv-commits mailing list