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

The primary device is now only avoided for recording if it is an old SD full featured card

This commit is contained in:
Klaus Schmidinger 2011-05-21 13:40:47 +02:00
parent 2993351536
commit 8cb8e6333a
6 changed files with 19 additions and 6 deletions

View File

@ -2141,6 +2141,8 @@ Philippe Gramoull
André Weidemann <Andre.Weidemann@web.de> André Weidemann <Andre.Weidemann@web.de>
for suggesting to only write Dolby Digital tracks into the 'info.vdr' file of a for suggesting to only write Dolby Digital tracks into the 'info.vdr' file of a
recording if Setup.UseDolbyDigital is true recording if Setup.UseDolbyDigital is true
for suggesting that the primary device should only be avoided for recording if
it is an old SD full featured card
Jürgen Schilling <juergen_schilling@web.de> Jürgen Schilling <juergen_schilling@web.de>
for reporting that color buttons were displayed in the recording info menu if it for reporting that color buttons were displayed in the recording info menu if it

View File

@ -6618,3 +6618,5 @@ Video Disk Recorder Revision History
are not dependent on the sequence of the files. are not dependent on the sequence of the files.
Plugin authors may want to change the line containing the xgettext call in their Plugin authors may want to change the line containing the xgettext call in their
Makefile accordingly by changing "$^" to "`ls $^`". Makefile accordingly by changing "$^" to "`ls $^`".
- The primary device is now only avoided for recording if it is an old SD full
featured card. This is done through the new function cDevice::AvoidRecording().

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: dvbsdffdevice.c 2.27 2010/09/12 11:29:00 kls Exp $ * $Id: dvbsdffdevice.c 2.28 2011/05/21 13:24:35 kls Exp $
*/ */
#include "dvbsdffdevice.h" #include "dvbsdffdevice.h"
@ -90,6 +90,11 @@ bool cDvbSdFfDevice::HasDecoder(void) const
return true; return true;
} }
bool cDvbSdFfDevice::AvoidRecording(void) const
{
return true;
}
cSpuDecoder *cDvbSdFfDevice::GetSpuDecoder(void) cSpuDecoder *cDvbSdFfDevice::GetSpuDecoder(void)
{ {
if (!spuDecoder && IsPrimaryDevice()) if (!spuDecoder && IsPrimaryDevice())

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: dvbsdffdevice.h 2.11 2010/01/04 11:01:14 kls Exp $ * $Id: dvbsdffdevice.h 2.12 2011/05/21 12:56:49 kls Exp $
*/ */
#ifndef __DVBSDFFDEVICE_H #ifndef __DVBSDFFDEVICE_H
@ -23,6 +23,7 @@ public:
cDvbSdFfDevice(int Adapter, int Frontend); cDvbSdFfDevice(int Adapter, int Frontend);
virtual ~cDvbSdFfDevice(); virtual ~cDvbSdFfDevice();
virtual bool HasDecoder(void) const; virtual bool HasDecoder(void) const;
virtual bool AvoidRecording(void) const;
// SPU facilities // SPU facilities

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: device.c 2.38 2011/02/25 15:12:03 kls Exp $ * $Id: device.c 2.39 2011/05/21 13:17:46 kls Exp $
*/ */
#include "device.h" #include "device.h"
@ -286,9 +286,9 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool LiveView
imp <<= 8; imp |= min(max(device[i]->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) imp <<= 8; imp |= min(max(device[i]->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used)
imp <<= 8; imp |= min(max((NumUsableSlots ? SlotPriority[j] : 0) + MAXPRIORITY, 0), 0xFF); // use the CAM slot with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) imp <<= 8; imp |= min(max((NumUsableSlots ? SlotPriority[j] : 0) + MAXPRIORITY, 0), 0xFF); // use the CAM slot with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used)
imp <<= 1; imp |= ndr; // avoid devices if we need to detach existing receivers imp <<= 1; imp |= ndr; // avoid devices if we need to detach existing receivers
imp <<= 1; imp |= device[i]->IsPrimaryDevice(); // avoid the primary device imp <<= 1; imp |= device[i]->IsPrimaryDevice() && device[i]->AvoidRecording(); // avoid the primary device
imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels
imp <<= 1; imp |= device[i]->HasDecoder(); // avoid full featured cards imp <<= 1; imp |= device[i]->AvoidRecording(); // avoid SD full featured cards
imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel
if (imp < Impact) { if (imp < Impact) {
// This device has less impact than any previous one, so we take it. // This device has less impact than any previous one, so we take it.

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: device.h 2.24 2011/03/21 17:58:41 kls Exp $ * $Id: device.h 2.25 2011/05/21 12:54:43 kls Exp $
*/ */
#ifndef __DEVICE_H #ifndef __DEVICE_H
@ -197,6 +197,9 @@ public:
///< Returns the number of this device (0 ... numDevices). ///< Returns the number of this device (0 ... numDevices).
virtual bool HasDecoder(void) const; virtual bool HasDecoder(void) const;
///< Tells whether this device has an MPEG decoder. ///< Tells whether this device has an MPEG decoder.
virtual bool AvoidRecording(void) const { return false; }
///< Returns true if this device should only be used for recording
///< if no other device is available.
// Device hooks // Device hooks