[mythtv-commits] Re: Ticket #754: PVR-350: LiveTV freezes when show ends and new show begins.

MythTV mythtv at cvs.mythtv.org
Tue Jan 3 03:10:24 UTC 2006


#754: PVR-350: LiveTV freezes when show ends and new show begins.
-----------------------+----------------------------------------------------
 Reporter:  anonymous  |        Owner:  danielk
     Type:  defect     |       Status:  closed 
 Priority:  minor      |    Milestone:  0.19   
Component:  mythtv     |      Version:  head   
 Severity:  medium     |   Resolution:  fixed  
-----------------------+----------------------------------------------------
Changes (by danielk):

  * resolution:  => fixed
  * status:  assigned => closed

Comment:

 (In [8479]) Fixes #754.

 This does not make smooth transitions ringbuffer transitions smooth, but
 it does prevent us from getting stuck in some infinte loops.

 There are two major problems:
  * IvtvDecoder::GetFramesPlayed() doesn't return a positive value until we
 have actually played some frames, and this doesn't happen until the ivtv
 decoding buffers has a lot of data in it. If the recording has just
 started this can be a problem as SeekReset was attempting to fill this
 buffer entirely. In this commit we just try to put some data in the
 buffer, which avoids hitting the end-of-file.

  * IvtvDecoder::CanHandle() tried to access the PVR-350 video output
 device when testing whether it can handle decoding a stream. This causes
 problems during the ringbuffer switch.. So I broke off the device testing
 into a CheckDevice() function, which always returns true once the device
 has passed the tests once.

 I also made VideoOutput::GetFramesPlayed() virtual so that the Ivtv
 implementation would not be hidden then the object is treated as
 VideoOutput* rather than a VideoOutputIvtv*

 Plus a few cosmetic changes in IvtvDecoder and some more VERBOSE macros in
 videooutputIvtv.

-- 
Ticket URL: <http://cvs.mythtv.org/trac/ticket/754>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list