[mythtv-commits] mythtv commit: r10987 by danielk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Tue Aug 29 19:30:23 UTC 2006


      Author: danielk
        Date: 2006-08-29 19:30:22 +0000 (Tue, 29 Aug 2006)
New Revision: 10987
   Changeset: http://cvs.mythtv.org/trac/changeset/10987

Modified:

   trunk/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp
   trunk/mythtv/libs/libmythtv/channel.cpp
   trunk/mythtv/libs/libmythtv/channel.h
   trunk/mythtv/libs/libmythtv/channelbase.h

Log:

Refs #1133. Adds handling for EIO failure code from VIDIOC_DQBUF ioctl.

According to the V4L2 docs: EIO -- VIDIOC_DQBUF failed due to an internal error. Can also indicate temporary problems like signal loss. Note the driver might dequeue an (empty) buffer despite returning an error, or even stop capturing.

Since 2.6.15.4, capture from an analog cx88 device sometimes get this error. When it does the hardware is re-tuned to some random frequency by the driver. The fix in this commit is to call a new Channel::Retune() method which retunes to the correct frequency.

This error frequently occurs when you first tune to a new channel resulting in a recording containing only static, it was first reported by foom at fuhm dt net in February, but at the time he was using a patched kernel and I could not reproduce this with a stock kernel. Since then this bug has unfortunately been introduced into the mainline kernel.






More information about the mythtv-commits mailing list