Added check for FE_CAN_PSK_8

This commit is contained in:
Klaus Schmidinger 2010-04-10 12:17:34 +02:00
parent f1ded40a55
commit 123bd2fec0
2 changed files with 10 additions and 3 deletions

View File

@ -6411,7 +6411,7 @@ Video Disk Recorder Revision History
- The new setup option "Folders in timer menu" controls whether the file names in
the timer menu are shown with their full folder path.
2010-04-05: Version 1.7.15
2010-04-10: Version 1.7.15
- Added Macedonian language texts (thanks to Dimitar Petrovski).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
@ -6422,6 +6422,10 @@ Video Disk Recorder Revision History
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- cDvbDevice::ProvidesTransponder() now checks the modulation capabilities of the
device (as far as the driver allows this).
If you have a device that provides PSK_8 modulation you may want to apply the
patch from ftp://ftp.tvdr.de/vdr/Developer/v4l-dvb-add-FE_CAN_PSK_8.diff to your
driver source. Otherwise VDR won't be able to detect whether a device is capable
of handling PSK_8.
- Fixed cFrameDetector::Analyze() in case part of the data has been processed and
there is less than MIN_TS_PACKETS_FOR_FRAME_DETECTOR left (reported by Derek Kelly).
- Added a note about not deleting cDeviceHook objects to device.h.

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 2.34 2010/04/05 20:13:05 kls Exp $
* $Id: dvbdevice.c 2.35 2010/04/10 10:36:27 kls Exp $
*/
#include "dvbdevice.h"
@ -21,6 +21,8 @@
#include "menuitems.h"
#include "sourceparams.h"
#define FE_CAN_PSK_8 0x8000000 // TODO: remove this once it is defined in the driver
#define DVBS_TUNE_TIMEOUT 9000 //ms
#define DVBS_LOCK_TIMEOUT 2000 //ms
#define DVBC_TUNE_TIMEOUT 9000 //ms
@ -896,7 +898,8 @@ bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const
dtp.Modulation() == QAM_256 && !(frontendInfo.caps & FE_CAN_QAM_256) ||
dtp.Modulation() == QAM_AUTO && !(frontendInfo.caps & FE_CAN_QAM_AUTO) ||
dtp.Modulation() == VSB_8 && !(frontendInfo.caps & FE_CAN_8VSB) ||
dtp.Modulation() == VSB_16 && !(frontendInfo.caps & FE_CAN_16VSB))
dtp.Modulation() == VSB_16 && !(frontendInfo.caps & FE_CAN_16VSB) ||
dtp.Modulation() == PSK_8 && !(frontendInfo.caps & FE_CAN_PSK_8))
return false; // requires modulation system which frontend doesn't provide
if (!cSource::IsSat(Channel->Source()) ||
!Setup.DiSEqC || Diseqcs.Get(CardIndex() + 1, Channel->Source(), Channel->Frequency(), dtp.Polarization()))