summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2011-05-21 15:24:10 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2011-05-21 15:24:10 +0200
commit80e3c06fa7fee1df093f72ef01e015ea94157094 (patch)
treefe3b34b7438ff9496e9480a25602073839499993
parent8cb8e6333a4663c90ab55015bbf7ad1ebe04def9 (diff)
downloadvdr-80e3c06fa7fee1df093f72ef01e015ea94157094.tar.gz
vdr-80e3c06fa7fee1df093f72ef01e015ea94157094.tar.bz2
Subtitle PIDs are now also decrypted
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY3
-rw-r--r--ci.c16
3 files changed, 13 insertions, 7 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d51508a6..d7011f00 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1269,6 +1269,7 @@ Reinhard Nissl <rnissl@gmx.de>
for fixing a buffer overflow in cFont::Bidi()
for avoiding an unecessary call to Recordings.ResetResume()
for debugging a problem in handling the bitmap color depth for scaled subtitles
+ for making subtitle PIDs be decrypted
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
diff --git a/HISTORY b/HISTORY
index 5d9796cf..74f021d1 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6607,7 +6607,7 @@ Video Disk Recorder Revision History
- Avoiding an unecessary call to Recordings.ResetResume() (thanks to Reinhard
Nissl).
-2011-05-15: Version 1.7.19
+2011-05-21: Version 1.7.19
- Fixed cString's operator=(const char *String) in case the given string is the
same as the existing one (thanks to Dirk Leber).
@@ -6620,3 +6620,4 @@ Video Disk Recorder Revision History
Makefile accordingly by changing "$^" to "`ls $^`".
- The primary device is now only avoided for recording if it is an old SD full
featured card. This is done through the new function cDevice::AvoidRecording().
+- Subtitle PIDs are now also decrypted (thanks to Reinhard Nissl).
diff --git a/ci.c b/ci.c
index 6c7b0310..59d62efe 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 2.6 2010/01/02 10:39:50 kls Exp $
+ * $Id: ci.c 2.7 2011/05/21 15:21:33 kls Exp $
*/
#include "ci.h"
@@ -1894,9 +1894,9 @@ void cCamSlot::SetPid(int Pid, bool Active)
}
// see ISO/IEC 13818-1
-#define STREAM_TYPE_VIDEO 0x02
-#define STREAM_TYPE_AUDIO 0x04
-#define STREAM_TYPE_DOLBY 0x06
+#define STREAM_TYPE_VIDEO 0x02
+#define STREAM_TYPE_AUDIO 0x04
+#define STREAM_TYPE_PRIVATE 0x06
void cCamSlot::AddChannel(const cChannel *Channel)
{
@@ -1910,7 +1910,9 @@ void cCamSlot::AddChannel(const cChannel *Channel)
for (const int *Apid = Channel->Apids(); *Apid; Apid++)
AddPid(Channel->Sid(), *Apid, STREAM_TYPE_AUDIO);
for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
- AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_DOLBY);
+ AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
+ for (const int *Spid = Channel->Spids(); *Spid; Spid++)
+ AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
}
}
@@ -1931,7 +1933,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
for (const int *Apid = Channel->Apids(); *Apid; Apid++)
CaPmt.AddPid(*Apid, STREAM_TYPE_AUDIO);
for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
- CaPmt.AddPid(*Dpid, STREAM_TYPE_DOLBY);
+ CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
+ for (const int *Spid = Channel->Spids(); *Spid; Spid++)
+ CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
cas->SendPMT(&CaPmt);
cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
do {