Re: vdr-1.7.15 problem with live TV [1.7.11 or older OK] [PROGRESS :) ]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/03/10 22:12, Simon Baxter wrote:
> ...
> So I've managed to get vdr-1.7.15 working just fine now, by disabling
> this scramble check in device.c.  Bit of a dirty hack!!!
> 
> 
> 
>> Here's what I changed in device.c
>>
>> void cDevice::Action(void)
>> {
>>  if (Running() && OpenDvr()) {
>>     while (Running()) {
>>           // Read data from the DVR device:
>>           uchar *b = NULL;
>>           if (GetTSPacket(b)) {
>>              if (b) {
>>                 int Pid = TsPid(b);
>>                 // Check whether the TS packets are scrambled:
>>                 bool DetachReceivers = false;
>>                 bool DescramblingOk = false;
>>                 int CamSlotNumber = 0;
>>                 if (startScrambleDetection) {
>>                   cCamSlot *cs = CamSlot();
>>                    CamSlotNumber = cs ? cs->SlotNumber() : 0;
>> //                    if (CamSlotNumber) {
>> //                       bool Scrambled = b[3] & TS_SCRAMBLING_CONTROL;
>> //                       int t = time(NULL) - startScrambleDetection;
>> //                       if (Scrambled) {
>> //                          if (t > TS_SCRAMBLING_TIMEOUT)
>> //                             DetachReceivers = true;
>> //                          }
>> //                       else if (t > TS_SCRAMBLING_TIME_OK) {
>> //                          DescramblingOk = true;
>> //                          startScrambleDetection = 0;
>> //                          }
>> //                       }
>>                 }
>>                 // Distribute the packet to all attached receivers:
>>                 Lock();

Looks like there are TS packets in your stream that are marked as
"scrambled", but not unscrambled by the CAM.

Do you have any CAM in your system at all?

Are the channels where this happens scrambled?

Do these channels have separate VPID and PPID?

Does the problem go away if, instead of the above change, you
comment out the line

   (Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) &&

in cReceiver::AddPids()?

Klaus

_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux