[mythtv-commits] Ticket #321: DVB timeouts for tuning are not not
long enough for USB connected tuners
MythTV
mythtv at cvs.mythtv.org
Sun Sep 11 21:17:55 UTC 2005
#321: DVB timeouts for tuning are not not long enough for USB connected tuners
--------------------------------------+-------------------------------------
Reporter: malc at porsche,demon.co.uk | Owner: ijr
Type: defect | Status: new
Priority: major | Milestone: 0.19
Component: mythtv | Version: head
Severity: medium | Cc: |
--------------------------------------+-------------------------------------
Timeouts on USB ver 1 connected tuners (Nova-T USB2) are not long enough
to allow PID capture. (25% hit rate on tuning, highly dependent on which
MUX is chosen).
(This can be proven by using dvb_scan -5 .. .extended timeout option,
which works fine).
I increased 2 hard coded timeouts as below, to fix the code. Also tried it
with a PCI version of the tuner, which works fine, with no effect on the
performance.
Fix could be as below, increasing the hard coded timeouts, or as suggested
in the comments, to add a database derived timeout value. Patch given
below for basic timeout increase.
From
libs/libmythtv/dvbsignalmonitor.cpp
- int wait = 3000; // timeout when waiting on signal
+ int wait = 20000; // timeout when waiting on signal
libs/libmythtv/tv_rec.cpp
-#define DVB_TABLE_WAIT 3000 /* msec */
+#define DVB_TABLE_WAIT 15000 /* msec */
{{{
Index: libs/libmythtv/dvbsignalmonitor.cpp
===================================================================
--- libs/libmythtv/dvbsignalmonitor.cpp (revision 7191)
+++ libs/libmythtv/dvbsignalmonitor.cpp (working copy)
@@ -31,7 +31,7 @@
* \brief Initializes signal lock and signal values.
*
* Start() must be called to actually begin continuous
- * signal monitoring. The timeout is set to 3 seconds,
+ signal monitoring. The timeout is set to 3 seconds, changed to 20secs
* and the signal threshold is initialized to 0%.
*
* \param db_cardnum Recorder number to monitor,
@@ -55,7 +55,7 @@
{
channel_dev = channel->GetDevice();
// These two values should probably come from the database...
- int wait = 3000; // timeout when waiting on signal
+ int wait = 20000; // timeout when waiting on signal
int threshold = -32768; // signal strength threshold in %
signalLock.SetTimeout(wait);
Index: libs/libmythtv/tv_rec.cpp
===================================================================
--- libs/libmythtv/tv_rec.cpp (revision 7191)
+++ libs/libmythtv/tv_rec.cpp (working copy)
@@ -65,7 +65,7 @@
#include "dbox2channel.h"
#endif
-#define DVB_TABLE_WAIT 3000 /* msec */
+#define DVB_TABLE_WAIT 15000 /* msec */
const int TVRec::kRequestBufferSize = 256*1000;
}}}
--
Ticket URL: <http://cvs.mythtv.org/trac/ticket/321>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list