mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed asserting there is a live programme if the primary device is bonded with a device that starts a recording on a different band
This commit is contained in:
parent
9cd835b35e
commit
f8d0f77307
4
HISTORY
4
HISTORY
@ -6836,7 +6836,7 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed frozen live view with device bonding in case the bonded master is used for
|
- Fixed frozen live view with device bonding in case the bonded master is used for
|
||||||
live viewing (reported by Uwe Scheffler).
|
live viewing (reported by Uwe Scheffler).
|
||||||
|
|
||||||
2012-01-16: Version 1.7.24
|
2012-01-17: Version 1.7.24
|
||||||
|
|
||||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||||
- Revoked "Fixed handling symbolic links in cRecordings::ScanVideoDir()".
|
- Revoked "Fixed handling symbolic links in cRecordings::ScanVideoDir()".
|
||||||
@ -6845,3 +6845,5 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed a high load in case a transponder can't be received.
|
- Fixed a high load in case a transponder can't be received.
|
||||||
- Improved the way DVB_API_VERSION is checked.
|
- Improved the way DVB_API_VERSION is checked.
|
||||||
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
|
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
|
||||||
|
- Fixed asserting there is a live programme if the primary device is bonded with
|
||||||
|
a device that starts a recording on a different band.
|
||||||
|
10
device.c
10
device.c
@ -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.44 2011/10/16 14:36:43 kls Exp $
|
* $Id: device.c 2.45 2012/01/17 15:28:57 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -531,6 +531,14 @@ bool cDevice::SetPid(cPidHandle *Handle, int Type, bool On)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cDevice::DelLivePids(void)
|
||||||
|
{
|
||||||
|
for (int i = ptAudio; i < ptOther; i++) {
|
||||||
|
if (pidHandles[i].pid)
|
||||||
|
DelPid(pidHandles[i].pid, ePidType(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void cDevice::StartSectionHandler(void)
|
void cDevice::StartSectionHandler(void)
|
||||||
{
|
{
|
||||||
if (!sectionHandler) {
|
if (!sectionHandler) {
|
||||||
|
5
device.h
5
device.h
@ -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.30 2011/12/04 13:38:17 kls Exp $
|
* $Id: device.h 2.31 2012/01/17 15:13:10 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DEVICE_H
|
#ifndef __DEVICE_H
|
||||||
@ -354,6 +354,9 @@ protected:
|
|||||||
///< Handle->used indicates how many receivers are using this PID.
|
///< Handle->used indicates how many receivers are using this PID.
|
||||||
///< Type indicates some special types of PIDs, which the device may
|
///< Type indicates some special types of PIDs, which the device may
|
||||||
///< need to set in a specific way.
|
///< need to set in a specific way.
|
||||||
|
public:
|
||||||
|
void DelLivePids(void);
|
||||||
|
///< Deletes the live viewing PIDs.
|
||||||
|
|
||||||
// Section filter facilities
|
// Section filter facilities
|
||||||
|
|
||||||
|
@ -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: dvbdevice.c 2.58 2012/01/16 12:52:01 kls Exp $
|
* $Id: dvbdevice.c 2.59 2012/01/17 15:16:12 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbdevice.h"
|
#include "dvbdevice.h"
|
||||||
@ -502,6 +502,8 @@ void cDvbTuner::SetChannel(const cChannel *Channel)
|
|||||||
tunerStatus = tsIdle;
|
tunerStatus = tsIdle;
|
||||||
ResetToneAndVoltage();
|
ResetToneAndVoltage();
|
||||||
}
|
}
|
||||||
|
if (bondedTuner && device->IsPrimaryDevice())
|
||||||
|
cDevice::PrimaryDevice()->DelLivePids(); // 'device' is const, so we must do it this way
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cDvbTuner::Locked(int TimeoutMs)
|
bool cDvbTuner::Locked(int TimeoutMs)
|
||||||
|
Loading…
Reference in New Issue
Block a user