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:
parent
13edfc1382
commit
378a05a96d
5
HISTORY
5
HISTORY
@ -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
|
||||
|
4
device.c
4
device.c
@ -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]);
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user