1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Encrypted channels no longer need PNR

This commit is contained in:
Klaus Schmidinger 2001-01-18 19:53:54 +01:00
parent 3ab1a86028
commit 40b599f1c7
2 changed files with 10 additions and 3 deletions

View File

@ -347,3 +347,5 @@ Video Disk Recorder Revision History
- The current channel is now saved in the 'setup.conf' file when VDR is cancelled, - The current channel is now saved in the 'setup.conf' file when VDR is cancelled,
and will be restored next time it is started (thanks to Deti Fliegl). and will be restored next time it is started (thanks to Deti Fliegl).
- The EIT scanning thread is now locked when switching channels to avoid problems. - The EIT scanning thread is now locked when switching channels to avoid problems.
- Encrypted channels can now be selected even without knowing the PNR (however, it
is still necessary for the EPG info).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbapi.c 1.49 2001/01/18 17:03:34 kls Exp $ * $Id: dvbapi.c 1.50 2001/01/18 19:53:54 kls Exp $
*/ */
#include "dvbapi.h" #include "dvbapi.h"
@ -844,6 +844,12 @@ int cRecordBuffer::Synchronize(void)
pictureType = NO_PICTURE; pictureType = NO_PICTURE;
//XXX remove this once the buffer is handled with two separate threads:
if (!synced && Free() < 100000) {
dsyslog(LOG_INFO, "unable to synchronize, dropped %d bytes", Available());
Clear();
return 0;
}
for (int i = 0; Available() > MINVIDEODATA && i < MINVIDEODATA; i++) { for (int i = 0; Available() > MINVIDEODATA && i < MINVIDEODATA; i++) {
if (Byte(i) == 0 && Byte(i + 1) == 0 && Byte(i + 2) == 1) { if (Byte(i) == 0 && Byte(i + 1) == 0 && Byte(i + 2) == 1) {
switch (Byte(i + 3)) { switch (Byte(i + 3)) {
@ -2176,8 +2182,7 @@ bool cDvbApi::SetChannel(int ChannelNumber, int FrequencyMHz, char Polarization,
freq -= Setup.LnbFrequLo; freq -= Setup.LnbFrequLo;
else else
freq -= Setup.LnbFrequHi; freq -= Setup.LnbFrequHi;
front.channel_flags = Ca ? DVB_CHANNEL_CA : DVB_CHANNEL_FTA; front.pnr = 0;
front.pnr = Pnr;
front.freq = freq * 1000000UL; front.freq = freq * 1000000UL;
front.diseqc = Diseqc; front.diseqc = Diseqc;
front.srate = Srate * 1000; front.srate = Srate * 1000;