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

Changed the semantics of the cReceiver::Activate() function (it is now called with 'false' *after* the receiver has been detached from the device

This commit is contained in:
Klaus Schmidinger 2012-09-02 09:35:31 +02:00
parent 13edfc1382
commit 378a05a96d
3 changed files with 8 additions and 5 deletions

View File

@ -7191,7 +7191,7 @@ Video Disk Recorder Revision History
turn on adding the source character to channel names whenever they are displayed
(suggested by Ludi Kaleni).
2012-09-01: Version 1.7.30
2012-09-02: Version 1.7.30
- Fixed sorting recordings in the top level video directory.
- Fixed handling control characters in SI data in case of UTF-8 encoded strings
@ -7206,6 +7206,9 @@ Video Disk Recorder Revision History
- Fixed detecting transfer mode on full featured DVB cards (thanks to Stefan Huelswitt
for reporting a problem with updating CA descriptors in such cases).
- Fixed a race condition when zapping in transfer mode (reported by Reinhard Nissl).
This involves a slight change in the semantics of the cReceiver::Activate() function,
which is now called with 'false' *after* the receiver has been detached from the
device.
- The new function cDevice::ReadFilter() can be used by devices to implement their
own way of retrieving section filter data (thanks to Deti Fliegl).
- The new function cDevice::HasInternalCam() can be implemented by devices that

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: device.c 2.66 2012/08/31 11:02:24 kls Exp $
* $Id: device.c 2.67 2012/09/02 09:26:36 kls Exp $
*/
#include "device.h"
@ -1676,10 +1676,10 @@ void cDevice::Detach(cReceiver *Receiver)
for (int i = 0; i < MAXRECEIVERS; i++) {
if (receiver[i] == Receiver) {
Lock();
Receiver->Activate(false);
receiver[i] = NULL;
Receiver->device = NULL;
Unlock();
Receiver->Activate(false);
for (int n = 0; n < Receiver->numPids; n++)
DelPid(Receiver->pids[n]);
}

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: receiver.h 2.8 2012/06/02 13:20:44 kls Exp $
* $Id: receiver.h 2.9 2012/09/02 09:27:20 kls Exp $
*/
#ifndef __RECEIVER_H
@ -27,7 +27,7 @@ protected:
void Detach(void);
virtual void Activate(bool On) {}
///< This function is called just before the cReceiver gets attached to
///< (On == true) or detached from (On == false) a cDevice. It can be used
///< (On == true) and right after it gets detached from (On == false) a cDevice. It can be used
///< to do things like starting/stopping a thread.
///< It is guaranteed that Receive() will not be called before Activate(true).
virtual void Receive(uchar *Data, int Length) = 0;