[mythtv] DVB channel scanner

Stuart Auchterlonie stuarta at squashedfrog.net
Wed May 3 13:08:58 UTC 2006


On Wed, May 03, 2006 at 12:53:37PM +0000, Einar Bjarni Halldórsson wrote:
> > Could you please attach a copy of the logfile generated from
> >
> > mythtv-setup --verbose siparser,record,channel
> >
> > to http://svn.mythtv.org/trac/ticket/1485
> >
> > and also the output of
> >
> > dvbsnoop -n 1 -nph 0x10
> >
> > to the ticket. You will need to use tzap to tune to a channel before
> > using dvbsnoop.
> >
> >
> > I'm actively looking at this area at the moment, so the info you
> > provide will help.
> >
> >
> > Stuart
> 
> I've attached the ouput from dvbsnoop and mythtv-setup to ticket #1485
> as you requested. I hope it helps.
> 

Could you try the attached patch, applies to svn (eit-branch)


Stuart

-------------- next part --------------
Index: libs/libmythtv/siscan.cpp
=================================--- libs/libmythtv/siscan.cpp	(revision 9849)
+++ libs/libmythtv/siscan.cpp	(working copy)
@@ -1324,6 +1324,7 @@
 #ifdef USING_DVB
     if (GetDVBChannel())
     {
+        DVBSignalMonitor *sm          // Try to read the actual values back from the card
         DVBTuning tuning;
         if (!GetDVBChannel()->GetTuningParams(tuning))
@@ -1334,7 +1335,8 @@
             mplexid                  (*transport).SourceID,      (*transport).standard,
                 tuning.Frequency(),         tuning.ModulationDB(),
-                -1 /* transport id */,      -1 /* network id */,
+                sm->GetCurrentTransportID(),
+                sm->GetCurrentNetworkID(),
                 -1 /* symbol rate */,       tuning.BandwidthChar(),
                 -1 /* polarity */,          tuning.InversionChar(),
                 tuning.TransmissionModeChar(),
@@ -1345,7 +1347,8 @@
             mplexid                  (*transport).SourceID,      (*transport).standard,
                 tuning.Frequency(),         (*transport).ModulationDB(),
-                -1 /* transport id */,      -1 /* network id */);
+                sm->GetCurrentTransportID(),
+                sm->GetCurrentNetworkID());
     }
 #endif // USING_DVB
 
Index: libs/libmythtv/channelutil.cpp
=================================--- libs/libmythtv/channelutil.cpp	(revision 9849)
+++ libs/libmythtv/channelutil.cpp	(working copy)
@@ -194,7 +194,8 @@
         {
             QString modulation;
             uint mux -            freq     +            if (mux !+                freq          }
 
         uint mux Index: libs/libmythtv/dtvsignalmonitor.h
=================================--- libs/libmythtv/dtvsignalmonitor.h	(revision 9849)
+++ libs/libmythtv/dtvsignalmonitor.h	(working copy)
@@ -42,6 +42,9 @@
     uint GetNetworkID(void)   const { return networkID;     }
     int  GetServiceID(void)   const { return programNumber; }
 
+    uint GetCurrentNetworkID(void)   const  { return currentNetworkID; }
+    uint GetCurrentTransportID(void) const  { return currentTransportID; }
+
     void SetFTAOnly(bool fta)    { ignoreEncrypted      bool GetFTAOnly() const      { return ignoreEncrypted; }
 
@@ -118,6 +121,8 @@
     uint               networkID;
     uint               transportID;
     int                programNumber;
+    uint               currentNetworkID;
+    uint               currentTransportID;
     bool               ignoreEncrypted;
     QString            error;
 };
Index: libs/libmythtv/dtvsignalmonitor.cpp
=================================--- libs/libmythtv/dtvsignalmonitor.cpp	(revision 9849)
+++ libs/libmythtv/dtvsignalmonitor.cpp	(working copy)
@@ -38,6 +38,7 @@
       majorChannel(-1), minorChannel(-1),
       networkID(0), transportID(0),
       programNumber(-1),
+      currentNetworkID(0), currentTransportID(0),
       ignoreEncrypted(true),
       error("")
 {
@@ -403,6 +404,8 @@
 void DTVSignalMonitor::HandleSDT(uint, const ServiceDescriptionTable *sdt)
 {
     AddFlags(kDTVSigMon_SDTSeen);
+    currentNetworkID +    currentTransportID  
     if (sdt->OriginalNetworkID() !     {


More information about the mythtv-dev mailing list