[mythtv] [mythtv-commits] Ticket #2372: Unable to scan echostar (dish network) satellites

Mark Buechler mark.buechler at gmail.com
Wed Sep 13 02:37:15 UTC 2006


I don't know if this is the same one floating around or not.. it's the one I
put together some months ago:

diff -rup mythtv-diseqc.old/libs/libmythtv/dtvsignalmonitor.cpp
mythtv-diseqc/libs/libmythtv/dtvsignalmonitor.cpp
--- mythtv-diseqc.old/libs/libmythtv/dtvsignalmonitor.cpp       2006-07-10
11:19:12.000000000 -0400
+++ mythtv-diseqc/libs/libmythtv/dtvsignalmonitor.cpp   2006-07-10 11:19:
28.000000000 -0400
@@ -215,7 +215,7 @@ void DTVSignalMonitor::SetDVBService(uin
     if (GetDVBStreamData())
     {
         GetDVBStreamData()->SetDesiredService(tsid, netid, programNumber);
-        AddFlags(kDTVSigMon_WaitForPMT | kDTVSigMon_WaitForSDT);
+        AddFlags(kDTVSigMon_WaitForPMT | kDTVSigMon_WaitForNIT);
         GetDVBStreamData()->AddListeningPID(DVB_SDT_PID);
     }
 }
@@ -403,8 +403,18 @@ void DTVSignalMonitor::HandleNIT(const N
 {
     DBG_SM("SetNIT()", QString("net_id = %1").arg(nit->NetworkID()));
     AddFlags(kDTVSigMon_NITSeen);
-    if (!GetDVBStreamData())
-        return;
+
+    if (nit->NetworkID() != networkID)
+    {
+        if (!GetDVBStreamData())
+            return;
+        GetDVBStreamData()->SetVersionNIT(-1, 0);
+    }
+    else
+    {
+        DBG_SM("setNIT()", QString("nid = %1").arg(nit->NetworkID()));
+        AddFlags(kDTVSigMon_NITMatch);
+    }
 }

 void DTVSignalMonitor::HandleSDT(uint, const ServiceDescriptionTable *sdt)
diff -rup mythtv-diseqc.old/libs/libmythtv/tv_rec.cpp
mythtv-diseqc/libs/libmythtv/tv_rec.cpp
--- mythtv-diseqc.old/libs/libmythtv/tv_rec.cpp 2006-07-10 11:19:
12.000000000 -0400
+++ mythtv-diseqc/libs/libmythtv/tv_rec.cpp     2006-07-10 11:20:
01.000000000 -0400
@@ -1758,7 +1758,7 @@ bool TVRec::SetupDTVSignalMonitor(void)
         sd->SetAudioStreamsRequired(neededAudio);
         sm->SetFTAOnly(fta);

-        sm->AddFlags(kDTVSigMon_WaitForPMT | kDTVSigMon_WaitForSDT);
+        sm->AddFlags(kDTVSigMon_WaitForPMT | kDTVSigMon_WaitForNIT);
         sm->AddFlags(kDVBSigMon_WaitForPos);
         sm->SetRotorTarget(0.0f);

On 9/12/06, Zdzislaw Gorlicki <zdzisekg at comcast.net> wrote:
>
> Mark Buechler wrote:
> > You can't tune these channels because Dish Network's SDT is invalid - ie
> > it only reflects channels on one of their transponders on one of their
> > sats and that information is being mirrored to all transponders' SDT. I
> > suspect that's why these may not being scanned correctly as well.
> >
> > The work-around would be to zero the networkid for those transports in
> > the database which forces Myth to tune by PAT. However, EIT is broken by
> > this. If you're interested I can provide another work-around which tunes
> > by NIT instead of SDT but networkid values for your transports MAY need
> > to be changed from original_network_id (which Myth uses for SDT tuning)
> > to network_id (which is refected in the NIT).
> >
> > - Mark.
> There is a SDT patch floating on the internet that I used. is this the
> same one you're talking about?
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20060912/a17241e2/attachment.htm 


More information about the mythtv-dev mailing list