[vdr] [ANNOUNCE] DVB-S2 + H.264 support for VDR-1.5.12

Gregoire Favre gregoire.favre at gmail.com
Mon Jan 7 17:51:02 CET 2008


On Mon, Jan 07, 2008 at 05:19:17PM +0100, Gregoire Favre wrote:
> On Sun, Jan 06, 2008 at 09:34:32PM +0100, Reinhard Nissl wrote:
> > Hi,
> > 
> > Please add some debug code to cDvbDevice::ProvidesTransponder()
> > to find out what's going wrong in your case, i. e. compare the
> > provided and requested modulation systems.
> 
> My cards :
> 
> 0: 101469280
> 1: 101469280
> 2: 101469280
> 
> But the card 1 : Hauppauge HVR-4000 is the dvb-s2 one ???
> 
> DVB: registering frontend 0 (ST STV0299 DVB-S)...
> DVB: registering frontend 1 (Conexant CX24116/CX24118)...
> DVB: registering frontend 2 (Conexant CX24123/CX24109)...
> Without the patch and with -D1 DVB-S2 works perfectly.

In case someone want to try to log here a small diff for it :

--- device.c.orig	2008-01-07 17:17:05.000000000 +0100
+++ device.c	2008-01-07 16:59:22.000000000 +0100
@@ -18,6 +18,7 @@
 #include "receiver.h"
 #include "status.h"
 #include "transfer.h"
+#include <iostream>
 
 // --- cLiveSubtitle ---------------------------------------------------------
 
@@ -433,6 +434,7 @@
              imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi();                                              // avoid cards with Common Interface for FTA channels
              imp <<= 1; imp |= device[i]->HasDecoder();                                                              // avoid full featured cards
              imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel
+	     std::cerr << "DVBS2-log: " << i << ": " << imp << std::endl;
              if (imp < Impact) {
                 // This device has less impact than any previous one, so we take it.
                 Impact = imp;
--- dvbdevice.c.orig	2008-01-07 17:17:58.000000000 +0100
+++ dvbdevice.c	2008-01-07 17:01:46.000000000 +0100
@@ -26,6 +26,7 @@
 #include "receiver.h"
 #include "status.h"
 #include "transfer.h"
+#include <iostream>
 
 #define DO_REC_AND_PLAY_ON_PRIMARY_DEVICE 1
 #define DO_MULTIPLE_RECORDINGS 1
@@ -805,12 +806,18 @@
 
 bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const
 {
-  if (!ProvidesSource(Channel->Source())) 
+  if (!ProvidesSource(Channel->Source())) {
+     std::cerr << "DVBS2-log: - Doesn't provide source" << std::endl;
      return false; // doesn't provide source
-  if (!cSource::IsSat(Channel->Source()))
+  }
+  if (!cSource::IsSat(Channel->Source())) {
+     std::cerr << "DVBS2-log: + source is sufficient for non sat" << std::endl;
      return true; // source is sufficient for non sat
-  if (!(frontendType & Channel->ModulationSystem()))
+  }
+  if (!(frontendType & Channel->ModulationSystem())) {
+     std::cerr << "DVBS2-log: - requires modulation system which frontend doesn't provide" << std::endl;
      return false; // requires modulation system which frontend doesn't provide
+  }
   return !Setup.DiSEqC || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization());
 }
 

-- 
Grégoire FAVRE  http://gregoire.favre.googlepages.com  http://www.gnupg.org
               http://picasaweb.google.com/Gregoire.Favre



More information about the vdr mailing list