From 67ea2163f41de6f0b42a32c25e82c7ea23b8570f Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Tue, 16 Jun 2020 14:25:43 +0200 Subject: [PATCH] Added cMtdCamSlot::TsPostProcess() --- CONTRIBUTORS | 1 + HISTORY | 3 ++- ci.c | 4 +++- mtd.c | 7 ++++++- mtd.h | 3 ++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e74c643c..61999e43 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3597,6 +3597,7 @@ Helmut Binder for suggesting to check and report whether the given value is valid when setting the override character table for adding codes for more languages and special audio tracks + for adding cMtdCamSlot::TsPostProcess() Ulrich Eckhardt for reporting a problem with shutdown after user inactivity in case a plugin is diff --git a/HISTORY b/HISTORY index c1f3816a..3f3fcf4f 100644 --- a/HISTORY +++ b/HISTORY @@ -9453,7 +9453,7 @@ Video Disk Recorder Revision History The version numbers (both VDRVERSNUM and APIVERSNUM) have been bumped to 2.4.2, so that plugins can detect the presence of the new cControl::Control(). -2020-06-15: Version 2.4.3 +2020-06-16: Version 2.4.3 - Added a missing '-D' to the 'plugins' target of the Makefile (thanks to Johann Friedrichs). @@ -9469,3 +9469,4 @@ Video Disk Recorder Revision History - Added failsafe defaults for 'make LCLBLD=1' to the Makefile (thanks to Stefan Herdler). - Added codes for more languages and special audio tracks (thanks to Helmut Binder). +- Added cMtdCamSlot::TsPostProcess() (thanks to Helmut Binder). diff --git a/ci.c b/ci.c index 36864522..2f399be2 100644 --- a/ci.c +++ b/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 4.26 2019/05/28 15:01:29 kls Exp $ + * $Id: ci.c 4.27 2020/06/16 14:25:43 kls Exp $ */ #include "ci.h" @@ -587,6 +587,7 @@ uint8_t cTPDU::Status(void) class cCiTransportConnection { private: enum eState { stIDLE, stCREATION, stACTIVE, stDELETION }; + cMutex mutex; cCamSlot *camSlot; uint8_t tcid; eState state; @@ -1811,6 +1812,7 @@ void cCiTransportConnection::SetTsPostProcessor(cCiSession *CiSession) bool cCiTransportConnection::TsPostProcess(uint8_t *TsPacket) { + cMutexLock MutexLock(&mutex); if (tsPostProcessor) return tsPostProcessor->TsPostProcess(TsPacket); return false; diff --git a/mtd.c b/mtd.c index 463c1d3e..f2c51027 100644 --- a/mtd.c +++ b/mtd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: mtd.c 1.14 2019/05/28 14:59:47 kls Exp $ + * $Id: mtd.c 1.15 2020/06/16 14:25:43 kls Exp $ */ #include "mtd.h" @@ -337,6 +337,11 @@ uchar *cMtdCamSlot::Decrypt(uchar *Data, int &Count) return d; } +bool cMtdCamSlot::TsPostProcess(uchar *Data) +{ + return MasterSlot()->TsPostProcess(Data); +} + void cMtdCamSlot::InjectEit(int Sid) { MasterSlot()->InjectEit(mtdMapper->RealToUniqSid(Sid)); diff --git a/mtd.h b/mtd.h index 9dcc1bd0..98ed99a6 100644 --- a/mtd.h +++ b/mtd.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: mtd.h 1.9 2019/05/28 15:00:10 kls Exp $ + * $Id: mtd.h 1.10 2020/06/16 14:25:43 kls Exp $ */ #ifndef __MTD_H @@ -172,6 +172,7 @@ public: virtual void StartDecrypting(void); virtual void StopDecrypting(void); virtual uchar *Decrypt(uchar *Data, int &Count); + virtual bool TsPostProcess(uchar *Data); virtual void InjectEit(int Sid); int PutData(const uchar *Data, int Count); int PutCat(const uchar *Data, int Count);