Allow recording of encrpted and FTA channel simultaneously

Message ID 422B5DB3.4020603@syphir.sytes.net
State New
Headers

Commit Message

C.Y.M March 6, 2005, 7:44 p.m. UTC
  Since it is only possible to view one encrypted channel per card, this patch 
allows vdr to record both an encrypted and a FTA channel, simultaneously, using 
a single dvb card.


Regards,
  

Comments

C.Y.M March 7, 2005, 7:49 p.m. UTC | #1
Ulrich Petri wrote:
> C.Y.M wrote:
> 
>> Since it is only possible to view one encrypted channel per card, this 
>> patch allows vdr to record both an encrypted and a FTA channel, 
>> simultaneously, using a single dvb card.
> 
> 
> How would that be possible?
> Are there feeds where encrypted and FTA channels are on the same 
> transponder?
> 

  Yes, sorry I forgot to mention that everything must be on the same 
transponder.  It is rare, but the situation can occur.  Also, I can not take the 
credit for this work.  It was posted on one of the forums I frequently browse. 
I just felt that it was odd for vdr to presume that multiple channels on the 
same transponder, which are decrypted by the same caid, can be handled by the 
same card.  Perhaps it it true in other systems.

Best Regards,
  

Patch

--- vdr-1.3.22/dvbdevice.c.orig	2005-03-06 11:17:04.000000000 -0800
+++ vdr-1.3.22/dvbdevice.c	2005-03-06 11:21:15.000000000 -0800
@@ -907,9 +907,8 @@ 
         if (dvbTuner->IsTunedTo(Channel)) {
            if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) {
 #ifdef DO_MULTIPLE_RECORDINGS
-              if (Ca() > CACONFBASE || Channel->Ca() > CACONFBASE)
-                 needsDetachReceivers = !ciHandler // only LL-firmware can do non-live CA channels
-                                        || Ca() != Channel->Ca();
+              if (Ca() > CACONFBASE && Channel->Ca() > CACONFBASE)
+                 needsDetachReceivers = true; // only LL-firmware can do non-live CA channels 
               else if (!IsPrimaryDevice())
                  result = true;
 #ifdef DO_REC_AND_PLAY_ON_PRIMARY_DEVICE