Preliminary fix for the "Unknown picture type error"

This commit is contained in:
Klaus Schmidinger 2004-02-08 11:13:36 +01:00
parent da3c91f01b
commit 8f5deb8327
3 changed files with 11 additions and 1 deletions

View File

@ -685,6 +685,7 @@ Sascha Volkenandt <sascha@akv-soft.de>
for reporting a problem with cReceivers that use a ring buffer and didn't immediately
return from their Receive() function if the buffer runs full
for reporting a crash in case there is no DVB hardware present
for his support in debugging the the "Unknown picture type error"
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
for modifying LOF handling to allow for C-band reception

View File

@ -2638,3 +2638,7 @@ Video Disk Recorder Revision History
Schultz). Linked channels are detected and added to 'channels.conf', but
currently they are not yet presented to the user other than being in the
normal channel list (this will come later).
- Preliminary fix for the "Unknown picture type error" (thanks to Sascha
Volkenandt for his support in debugging this one). This may slow down switching
between channels on different transponders for now, but a better solution will
come later.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.c 1.79 2004/01/25 13:50:21 kls Exp $
* $Id: dvbdevice.c 1.80 2004/02/08 11:11:10 kls Exp $
*/
#include "dvbdevice.h"
@ -751,6 +751,11 @@ bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
dvbTuner->Set(Channel, DoTune, !EITScanner.UsesDevice(this)); //XXX 1.3: this is an ugly hack - find a cleaner solution//XXX
//XXX TODO preliminary fix for the "Unknown picture type" error
time_t t0 = time(NULL);
while (!dvbTuner->Locked() && time(NULL) - t0 < 5)
usleep(100);
//XXX
// PID settings:
if (TurnOnLivePIDs) {