mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed resetting the receiver for EMM pids for CAMs that need to receive the TS
This commit is contained in:
parent
52620f147b
commit
7fac1d4ae2
@ -3293,3 +3293,5 @@ Christian Winkler <winkler_chr@yahoo.de>
|
||||
Dietmar Spingler <d_spingler@gmx.de>
|
||||
for reporting a problem that led to a fix in detaching receivers from devices in case
|
||||
a CAM needs to receive the TS
|
||||
for reporting a problem that led to a fix with EMM pids not being properly reset for
|
||||
CAMs that need to receive the TS
|
||||
|
4
HISTORY
4
HISTORY
@ -8307,7 +8307,7 @@ Video Disk Recorder Revision History
|
||||
- The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
|
||||
the functional modification to cFont::CreateFont().
|
||||
|
||||
2015-01-07: Version 2.1.7
|
||||
2015-01-09: Version 2.1.7
|
||||
|
||||
- No longer logging an error message in DirSizeMB() if the given directory doesn't
|
||||
exist. This avoids lots of log entries in case several VDRs use the same video
|
||||
@ -8338,3 +8338,5 @@ Video Disk Recorder Revision History
|
||||
Rolf Ahrenberg).
|
||||
- Fixed detaching receivers from devices in case a CAM needs to receive the TS
|
||||
(reported by Dietmar Spingler).
|
||||
- Fixed resetting the receiver for EMM pids for CAMs that need to receive the TS
|
||||
(reported by Dietmar Spingler).
|
||||
|
8
ci.c
8
ci.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: ci.c 3.13 2014/03/26 11:51:09 kls Exp $
|
||||
* $Id: ci.c 3.14 2015/01/09 09:41:20 kls Exp $
|
||||
*/
|
||||
|
||||
#include "ci.h"
|
||||
@ -123,6 +123,7 @@ public:
|
||||
virtual ~cCaPidReceiver() { Detach(); }
|
||||
virtual void Receive(uchar *Data, int Length);
|
||||
bool HasCaPids(void) { return NumPids() - emmPids.Size() - 1 > 0; }
|
||||
void Reset(void) { DelEmmPids(); }
|
||||
};
|
||||
|
||||
cCaPidReceiver::cCaPidReceiver(void)
|
||||
@ -1931,6 +1932,11 @@ void cCamSlot::SendCaPmt(uint8_t CmdId)
|
||||
else {
|
||||
cCiCaPmt CaPmt(CmdId, 0, 0, 0, NULL);
|
||||
cas->SendPMT(&CaPmt);
|
||||
if (caPidReceiver) {
|
||||
if (cDevice *d = Device())
|
||||
d->Detach(caPidReceiver);
|
||||
caPidReceiver->Reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user