Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Multiple record encrypted channel
Hi all,
I use this patch for record one and (wath/record) another encrypted channel
on same transponder.
Test it, please. For my (Via Black CAM) can encrypted up to 3 channels.
CICAM:
DVB 1
DVB 1
diff -uNr vdr-1.1.27/ci.c vdr/ci.c
--- vdr-1.1.27/ci.c Sun Mar 23 18:18:40 2003
+++ vdr/ci.c Sat Apr 19 18:45:21 2003
@@ -39,7 +39,7 @@
// Set these to 'true' for debug output:
static bool DumpTPDUDataTransfer = false;
static bool DebugProtocol = false;
-
+extern bool recordingson;
#define dbgprotocol(a...) if (DebugProtocol) fprintf(stderr, a)
#define OK 0
@@ -1229,7 +1229,12 @@
cCiCaPmt::cCiCaPmt(int ProgramNumber)
{
length = 0;
- capmt[length++] = CPLM_ONLY;
+ if (!recordingson) {
+ capmt[length++] = CPLM_FIRST;
+ } else {
+ capmt[length++] = CPLM_ADD;
+ }
+
capmt[length++] = (ProgramNumber >> 8) & 0xFF;
capmt[length++] = ProgramNumber & 0xFF;
capmt[length++] = 0x01; // version_number, current_next_indicator -
apparently vn doesn't matter, but cni must be 1
diff -uNr vdr-1.1.27/recorder.c vdr/recorder.c
--- vdr-1.1.27/recorder.c Sat Jan 25 19:23:36 2003
+++ vdr/recorder.c Sat Apr 19 18:43:35 2003
@@ -18,6 +18,7 @@
#define MINFREEDISKSPACE (512) // MB
#define DISKCHECKINTERVAL 100 // seconds
+bool recordingson = false;
cRecorder::cRecorder(const char *FileName, int Ca, int Priority, int VPid,
int APid1, int APid2, int DPid1, int DPid2)
:cReceiver(Ca, Priority, 5, VPid, APid1, APid2, DPid1, DPid2)
@@ -109,7 +110,7 @@
void cRecorder::Action(void)
{
dsyslog("recording thread started (pid=%d)", getpid());
-
+ recordingson = true;
active = true;
while (active) {
int r;
@@ -138,6 +139,6 @@
else
usleep(1); // this keeps the CPU load low
}
-
+ recordingson = false;
dsyslog("recording thread ended (pid=%d)", getpid());
}
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index