diff --git a/HISTORY b/HISTORY index d20075e2..716bbaee 100644 --- a/HISTORY +++ b/HISTORY @@ -347,3 +347,5 @@ Video Disk Recorder Revision History - 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). - 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). diff --git a/dvbapi.c b/dvbapi.c index 54f6fe53..e583baf9 100644 --- a/dvbapi.c +++ b/dvbapi.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * 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" @@ -844,6 +844,12 @@ int cRecordBuffer::Synchronize(void) 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++) { if (Byte(i) == 0 && Byte(i + 1) == 0 && Byte(i + 2) == 1) { switch (Byte(i + 3)) { @@ -2176,8 +2182,7 @@ bool cDvbApi::SetChannel(int ChannelNumber, int FrequencyMHz, char Polarization, freq -= Setup.LnbFrequLo; else freq -= Setup.LnbFrequHi; - front.channel_flags = Ca ? DVB_CHANNEL_CA : DVB_CHANNEL_FTA; - front.pnr = Pnr; + front.pnr = 0; front.freq = freq * 1000000UL; front.diseqc = Diseqc; front.srate = Srate * 1000;