[mythtv-commits] mythtv commit: r8479 by danielk

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


      Author: danielk
        Date: 2006-01-03 03:10:23 +0000 (Tue, 03 Jan 2006)
New Revision: 8479
   Changeset: http://cvs.mythtv.org/trac/changeset/8479

Modified:

   trunk/mythtv/libs/libmythtv/ivtvdecoder.cpp
   trunk/mythtv/libs/libmythtv/ivtvdecoder.h
   trunk/mythtv/libs/libmythtv/videoout_ivtv.cpp
   trunk/mythtv/libs/libmythtv/videoout_ivtv.h
   trunk/mythtv/libs/libmythtv/videooutbase.h

Log:

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.






More information about the mythtv-commits mailing list