From 0ae59efa8b529d4e43a41ccf1ece01c75ad79b5e Mon Sep 17 00:00:00 2001
From: leslie <unknown>
Date: Sat, 23 Jul 2011 17:00:07 +0200
Subject: [PATCH] added option to set TS buffer size

---
 device.c    |  2 +-
 po/de_DE.po |  5 ++++-
 po/fi_FI.po |  5 ++++-
 po/fr_FR.po |  5 ++++-
 po/hu_HU.po |  5 ++++-
 po/it_IT.po |  5 ++++-
 po/lt_LT.po | 65 ++++++++++++++++++++++++++++-------------------------
 po/nl_NL.po |  5 ++++-
 po/pl_PL.po |  5 ++++-
 po/ru_RU.po |  5 ++++-
 po/sv_SE.po |  5 ++++-
 sc.c        |  5 ++++-
 scsetup.h   |  1 +
 13 files changed, 76 insertions(+), 42 deletions(-)

diff --git a/device.c b/device.c
index fe10d5e..2c1a5ec 100644
--- a/device.c
+++ b/device.c
@@ -1591,7 +1591,7 @@ bool cScDevice::OpenDvr(void)
   fd_dvr=cScDevices::DvbOpen(DEV_DVB_DVR,DVB_DEV_SPEC,O_RDONLY|O_NONBLOCK,true);
   if(fd_dvr>=0) {
     tsMutex.Lock();
-    tsBuffer=new cDeCsaTSBuffer(fd_dvr,MEGABYTE(4),CardIndex()+1,decsa,ScActive());
+    tsBuffer=new cDeCsaTSBuffer(fd_dvr,MEGABYTE(ScSetup.DeCsaTsBuffSize),CardIndex()+1,decsa,ScActive());
     tsMutex.Unlock();
     }
   return fd_dvr>=0;
diff --git a/po/de_DE.po b/po/de_DE.po
index 77030a9..48bf38c 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr "Lokale Systeme bevorzugen"
 msgid "ECM cache"
 msgstr "ECM Zwischenspeicher"
 
+msgid "TS buffer size MB"
+msgstr "TS Puffergröße MB"
+
 msgid "Active on DVB card"
 msgstr "Aktiv auf DVB Karte"
 
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 6d7e1c7..16f4ad5 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2008-11-19 13:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr "Suosi paikallista salauksenpurkua"
 msgid "ECM cache"
 msgstr "ECM-välimuisti"
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Aktiivinen DVB-kortilla"
 
diff --git a/po/fr_FR.po b/po/fr_FR.po
index 89011d9..34ba344 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr "Pr
 msgid "ECM cache"
 msgstr ""
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Actif sur la carte DVB"
 
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 56d8506..269aed9 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.11\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2009-05-17 11:09+0800\n"
 "Last-Translator: jv\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr "Helyi rendszerek elonyben"
 msgid "ECM cache"
 msgstr ""
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Aktív a következo DVB kártyán"
 
diff --git a/po/it_IT.po b/po/it_IT.po
index 75de5a8..5e8e1ce 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2008-11-19 12:23+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr "Preferisci sistemi locali"
 msgid "ECM cache"
 msgstr "cache ECM"
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Attiva sulla scheda DVB"
 
diff --git a/po/lt_LT.po b/po/lt_LT.po
index 8df5008..ff0fcb9 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.7.10\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2010-02-21 11:45+0200\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr "Teikti pirmenybę vietinėm sistemoms"
 msgid "ECM cache"
 msgstr "Laikonoji ECM saugykla (cache)"
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Palaikymas įjungtas DVB kortoje"
 
@@ -175,14 +178,26 @@ msgstr "Programiškai emuliuojamas dekodavimo modulis"
 msgid "undisclosed key"
 msgstr "nežinomas raktas"
 
-msgid "stream"
-msgstr "srautas"
+msgid "Cardclient: connect immediately"
+msgstr "Programinė kortelė: prisijungti tučtuojau"
 
-msgid "tps.bin"
-msgstr "tps.bin"
+msgid "Nagra: min. ECM processing time"
+msgstr "Nagra: min. ECM apdorojimo laikas"
 
-msgid "Viaccess: TPS updates from"
-msgstr "Viaccess: TPS atnaujinimai imami iš"
+msgid "Nagra2: drop EMM-S packets"
+msgstr "Nagra2: atmesti EMM-S paketus"
+
+msgid "Nagra2: Enable AUXserver"
+msgstr "Nagra2: Įjungti AUXserver'į"
+
+msgid "Nagra2: AUXserver hostname"
+msgstr "Nagra2: AUXserver'io adresas"
+
+msgid "Nagra2: AUXserver port"
+msgstr "Nagra2: AUXserver'io portas"
+
+msgid "Nagra2: AUXserver password"
+msgstr "Nagra2: AUXserver'io slapyvardis"
 
 msgid "don't touch"
 msgstr "neliesti"
@@ -190,11 +205,11 @@ msgstr "neliesti"
 msgid "disable"
 msgstr "išjungti"
 
-msgid "SC-Viaccess: Parental lock"
-msgstr "SC-Viaccess: Tėvų užraktas"
+msgid "SC-Cryptoworks: Parental rating"
+msgstr "SC-Cryptoworks: Tėvų kodo reitingas"
 
-msgid "Cardclient: connect immediately"
-msgstr "Programinė kortelė: prisijungti tučtuojau"
+msgid "SC-Nagra: use T14 Nagra mode"
+msgstr "SC-Nagra: naudoti Nagra T14 ręžimą"
 
 msgid "allow ALL"
 msgstr "leisti VISKĄ"
@@ -211,26 +226,14 @@ msgstr "blokuoti VISUS"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: EMM atnaujinimai"
 
-msgid "SC-Cryptoworks: Parental rating"
-msgstr "SC-Cryptoworks: Tėvų kodo reitingas"
-
-msgid "Nagra: min. ECM processing time"
-msgstr "Nagra: min. ECM apdorojimo laikas"
-
-msgid "Nagra2: drop EMM-S packets"
-msgstr "Nagra2: atmesti EMM-S paketus"
-
-msgid "Nagra2: Enable AUXserver"
-msgstr "Nagra2: Įjungti AUXserver'į"
-
-msgid "Nagra2: AUXserver hostname"
-msgstr "Nagra2: AUXserver'io adresas"
+msgid "SC-Viaccess: Parental lock"
+msgstr "SC-Viaccess: Tėvų užraktas"
 
-msgid "Nagra2: AUXserver port"
-msgstr "Nagra2: AUXserver'io portas"
+msgid "stream"
+msgstr "srautas"
 
-msgid "Nagra2: AUXserver password"
-msgstr "Nagra2: AUXserver'io slapyvardis"
+msgid "tps.bin"
+msgstr "tps.bin"
 
-msgid "SC-Nagra: use T14 Nagra mode"
-msgstr "SC-Nagra: naudoti Nagra T14 ręžimą"
+msgid "Viaccess: TPS updates from"
+msgstr "Viaccess: TPS atnaujinimai imami iš"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 0bec0c8..023df14 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr ""
 msgid "ECM cache"
 msgstr ""
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Actief op DVB kaart"
 
diff --git a/po/pl_PL.po b/po/pl_PL.po
index dbd3afb..38efa53 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr ""
 msgid "ECM cache"
 msgstr ""
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Aktywny na karcie DVB"
 
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 6e2ab43..25e7d1b 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2009-05-14 19:33+0100\n"
 "Last-Translator: somebody\n"
 "Language-Team: ru\n"
@@ -149,6 +149,9 @@ msgstr "
 msgid "ECM cache"
 msgstr "ECM Úíè"
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "°ÚâØÒÝëÙ ÝÐ ßÛÐâÕ DVB"
 
diff --git a/po/sv_SE.po b/po/sv_SE.po
index e3d6dfd..a683ff1 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-12-21 08:38-0500\n"
+"POT-Creation-Date: 2010-12-12 13:24+0100\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -148,6 +148,9 @@ msgstr ""
 msgid "ECM cache"
 msgstr ""
 
+msgid "TS buffer size MB"
+msgstr ""
+
 msgid "Active on DVB card"
 msgstr "Aktiv på DVB-kort"
 
diff --git a/sc.c b/sc.c
index 82960bf..d0678a2 100644
--- a/sc.c
+++ b/sc.c
@@ -945,6 +945,7 @@ cScSetup::cScSetup(void)
   PrestartAU=0;
   SuperKeys=0;
   EcmCache=0;
+  DeCsaTsBuffSize=4;
 }
 
 void cScSetup::Check(void)
@@ -963,6 +964,7 @@ void cScSetup::Check(void)
   PRINTF(L_CORE_LOAD,"** Concurrent FF recordings are %sallowed",ConcurrentFF?"":"NOT ");
   PRINTF(L_CORE_LOAD,"** %sorce transfermode with digital audio",ForceTransfer?"F":"DON'T f");
   PRINTF(L_CORE_LOAD,"** ECM cache is set to %s",EcmCache ? (EcmCache==1?"READ-ONLY":"DISABLED"):"enabled");
+  PRINTF(L_CORE_LOAD,"** TsBufferSize is %d MB",DeCsaTsBuffSize);
   LBSTART(L_CORE_LOAD);
   LBPUT("** ScCaps are"); for(int i=0; i<MAXSCCAPS ; i++) LBPUT(" %d",ScCaps[i]);
   LBEND();
@@ -1247,7 +1249,7 @@ cScPlugin::cScPlugin(void)
   static const char *logg[] = { trNOOP("off"),trNOOP("active CAIDs"),trNOOP("all CAIDs") };
   static const char *skey[] = { trNOOP("comment out"),trNOOP("remove") };
   static const char *ecache[] = { trNOOP("enabled"),trNOOP("read-only"),trNOOP("off") };
-  ScOpts=new cOpts(0,9);
+  ScOpts=new cOpts(0,10);
   ScOpts->Add(new cOptSel  ("AutoUpdate"   ,trNOOP("Update keys (AU)")     ,&ScSetup.AutoUpdate,3,logg));
   ScOpts->Add(new cOptBool ("PrestartAU"   ,trNOOP("Start AU on EPG scan") ,&ScSetup.PrestartAU));
   ScOpts->Add(new cOptSel  ("SuperKeys"    ,trNOOP("Superseded keys")      ,&ScSetup.SuperKeys,2,skey));
@@ -1255,6 +1257,7 @@ cScPlugin::cScPlugin(void)
   ScOpts->Add(new cOptBool ("ForceTranfer" ,trNOOP("Force TransferMode")   ,&ScSetup.ForceTransfer));
   ScOpts->Add(new cOptBool ("LocalPriority",trNOOP("Prefer local systems") ,&ScSetup.LocalPriority));
   ScOpts->Add(new cOptSel  ("EcmCache"     ,trNOOP("ECM cache")            ,&ScSetup.EcmCache,3,ecache));
+  ScOpts->Add(new cOptInt  ("DeCsaTsBuffSize",trNOOP("TS buffer size MB")  ,&ScSetup.DeCsaTsBuffSize,4,15));
   ScOpts->Add(new cOptMInt ("ScCaps"       ,trNOOP("Active on DVB card")   , ScSetup.ScCaps,MAXSCCAPS,0));
   LogOpts=new cOpts(0,6);
   LogOpts->Add(new cOptBool ("LogConsole"  ,trNOOP("Log to console")      ,&logcfg.logCon));
diff --git a/scsetup.h b/scsetup.h
index 5e12c0b..4b0e882 100644
--- a/scsetup.h
+++ b/scsetup.h
@@ -34,6 +34,7 @@ public:
   int PrestartAU;
   int SuperKeys;
   int EcmCache;
+  int DeCsaTsBuffSize;
 public:
   cScSetup(void);
   void Check(void);
-- 
2.39.5