[mythtv] Fwd: [linux-dvb] USB DVB-T tuners and MythTV

Jim mythdev at penyball.cix.co.uk
Tue Oct 11 18:26:00 UTC 2005

> > > BTW Adrian, it this is the problem, recordings should work now
> > > because we now wait for the length of the program for a lock...
> > Hmm. I was trying out timeouts of 30 seconds and beyond, but no joy.
> Well for scheduled recording the timeout is on the order of 30 
> minutes...
> I've been told 40 seconds is common for DVB-over-USB.

The great improvements in channel handling and stability in the current 
SVN led me to revisit the usb issue as I wanted to try using the SVN in 
day to day and I can't do that unless I get the slave working,
(I have a master with an avermedia 771 + pvr 250 & slave with a 
USB attached DEC 2000t )

With the recent SVN's the 2000 has been misbehaving as per this thread.
I convinced myself (gdb/dbtune) that both PAT and PMT were available 
from the 2000 - so started looking at mythlib.

using svn 7448 I find that if you comment out the following 4 lines in 
  DTVSignalMonitor::IsAllGood then everything (liveTV/Recording) works
  with the same speed improvements to channel change etc
if ((flags & kDTVSigMon_WaitForPAT) && !matchingPAT.IsGood())
            return false;
if ((flags & kDTVSigMon_WaitForPMT) && !matchingPMT.IsGood())
            return false;

Otherwise IsAllGood is continually being called and returning at the PAT 
test, if this is commented out it returns at the PMT test. The OSD showing 
Partial lock.

I thought I'd share this just in case it helped anyone who understands how 
this works better than me! 
Two minor points I noticed in rummaging around:
a) There appears to be a typo in DTVSignalMonitor::IsAllGood in that the 
MGT test is repeated in the VCT line: 
--- libs/libmythtv/dtvsignalmonitor.cpp  2005-10-11 19:04:41.000000000 
+++ dtvsignalmonitor.cpp        2005-10-11 19:05:45.000000000 +0100
@@ -368,7 +368,7 @@
             return false;
     if ((flags & kDTVSigMon_WaitForMGT) && !matchingMGT.IsGood())
             return false;
-    if ((flags & kDTVSigMon_WaitForVCT) && !matchingMGT.IsGood())
+    if ((flags & kDTVSigMon_WaitForVCT) && !matchingVCT.IsGood())
             return false;
     if ((flags & kDTVSigMon_WaitForNIT) && !matchingNIT.IsGood())
             return false;

b) The fix for embedded quotes in the DVB channel name hasn't quite done 
the job - I understand why a bind variable would be better but don't know 
how to do this in mysql - the following does work however. (svn 7449)

--- libs/libmythtv/tv_rec.cpp   2005-10-11 19:04:42.000000000 +0100
+++ tv_rec.cpp.ok       2005-10-11 18:43:54.000000000 +0100
@@ -2372,7 +2364,7 @@
     querystr = QString(
         "SELECT channel.channum, channel.chanid "
         "FROM channel, capturecard, cardinput%1 "
-        "WHERE channel.%2 %3 '%4' %5 AND "
+        "WHERE channel.%2 %3 \"%4\" %5 AND "
         "      %6 "
         "ORDER BY channel.%7 %8 "
         "LIMIT 1")

attached are backend logs (channel,record,siparser) for livetv at svn 7448 
and with those lines commented out

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mythdec2000.log.tz
Type: application/octet-stream
Size: 6782 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20051011/5ea002d3/mythdec2000.log.obj

More information about the mythtv-dev mailing list