亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? vdr-1.4.x-sc7.diff

?? VDR softcam plugin 0.9.1
?? DIFF
字號(hào):
diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/ci.c vdr-1.4.7-sc7/ci.c--- vdr-1.4.7-orig/ci.c	2007-04-30 14:58:41.000000000 +0200+++ vdr-1.4.7-sc7/ci.c	2007-05-13 18:04:04.000000000 +0200@@ -1502,9 +1502,8 @@   close(fd); } -cCiHandler *cCiHandler::CreateCiHandler(const char *FileName)+cCiHandler *cCiHandler::CreateCiHandler(int fd_ca) {-  int fd_ca = open(FileName, O_RDWR);   if (fd_ca >= 0) {      ca_caps_t Caps;      if (ioctl(fd_ca, CA_GET_CAP, &Caps) == 0) {@@ -1520,8 +1519,7 @@            esyslog("ERROR: no CAM slots found");         }      else-        LOG_ERROR_STR(FileName);-     close(fd_ca);+        LOG_ERROR_STR("CA_GET_CAP");      }   return NULL; }diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/ci.h vdr-1.4.7-sc7/ci.h--- vdr-1.4.7-orig/ci.h	2006-08-12 11:43:31.000000000 +0200+++ vdr-1.4.7-sc7/ci.h	2007-06-24 19:46:39.000000000 +0200@@ -85,10 +85,12 @@ class cCiCaProgramData : public cListObject { public:   int programNumber;+  bool modified;   cList<cCiCaPidData> pidList;   cCiCaProgramData(int ProgramNumber)   {     programNumber = ProgramNumber;+    modified = true;   }   }; @@ -96,6 +98,8 @@ class cCiTransportLayer; class cCiTransportConnection; +#define VDR_IS_SC_PATCHED 402+ class cCiHandler { private:   cMutex mutex;@@ -123,7 +127,7 @@   void SendCaPmt(void); public:   ~cCiHandler();-  static cCiHandler *CreateCiHandler(const char *FileName);+  static cCiHandler *CreateCiHandler(int fd_ca);        ///< Creates a new cCiHandler for the given CA device.   int NumSlots(void) { return numSlots; }        ///< Returns the number of CAM slots provided by this CA device.diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/device.c vdr-1.4.7-sc7/device.c--- vdr-1.4.7-orig/device.c	2006-09-03 12:13:25.000000000 +0200+++ vdr-1.4.7-sc7/device.c	2007-05-13 18:30:57.000000000 +0200@@ -395,6 +395,54 @@   return false; } +void cDevice::CiStartDecrypting(void)+{+  if (ciHandler)+     ciHandler->StartDecrypting();+}++void cDevice::CiSetSource(int Source, int Transponder)+{+  cMutexLock MutexLock(&ciListMutex);+  if (ciSource != Source || ciTransponder != Transponder)+     ciProgramList.Clear();+  ciSource = Source;+  ciTransponder = Transponder;+}++void cDevice::CiAddPid(int ProgramNumber, int Pid, int StreamType)+{+  cMutexLock MutexLock(&ciListMutex);+  cCiCaProgramData *ProgramData = NULL;+  for (cCiCaProgramData *p = ciProgramList.First(); p; p = ciProgramList.Next(p)) {+      if (p->programNumber == ProgramNumber) {+         ProgramData = p;+         for (cCiCaPidData *q = p->pidList.First(); q; q = p->pidList.Next(q)) {+             if (q->pid == Pid)+                return;+             }+         }+      }+  if (!ProgramData)+     ciProgramList.Add(ProgramData = new cCiCaProgramData(ProgramNumber));+  ProgramData->pidList.Add(new cCiCaPidData(Pid, StreamType));+  ProgramData->modified=true;+}++void cDevice::CiSetPid(int Pid, bool Active)+{+  cMutexLock MutexLock(&ciListMutex);+  for (cCiCaProgramData *p = ciProgramList.First(); p; p = ciProgramList.Next(p)) {+      for (cCiCaPidData *q = p->pidList.First(); q; q = p->pidList.Next(q)) {+          if (q->pid == Pid) {+             q->active = Active;+             p->modified = true;+             return;+             }+         }+      }+}+ bool cDevice::AddPid(int Pid, ePidType PidType) {   if (Pid || PidType == ptPcr) {@@ -424,6 +472,7 @@               }            if (ciHandler)               ciHandler->SetPid(Pid, true);+           CiSetPid(Pid, true);            }         PRINTPIDS("a");         return true;@@ -453,6 +502,7 @@            }         if (ciHandler)            ciHandler->SetPid(Pid, true);+        CiSetPid(Pid, true);         }      }   return true;@@ -481,6 +531,7 @@               pidHandles[n].pid = 0;               if (ciHandler)                  ciHandler->SetPid(Pid, false);+              CiSetPid(Pid, false);               }            }         PRINTPIDS("E");@@ -663,6 +714,16 @@            } #endif         }++     CiSetSource(Channel->Source(), Channel->Transponder());+     if (Channel->Ca() >= CA_ENCRYPTED_MIN) {+        CiAddPid(Channel->Sid(), Channel->Vpid(), 2);+        for (const int *Apid = Channel->Apids(); *Apid; Apid++)+            CiAddPid(Channel->Sid(), *Apid, 4);+        for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)+            CiAddPid(Channel->Sid(), *Dpid, 0);+        }+      if (NeedsDetachReceivers)         DetachAllReceivers();      if (SetChannelDevice(Channel, LiveView)) {@@ -672,8 +733,7 @@            sectionHandler->SetStatus(true);            }         // Start decrypting any PIDs that might have been set in SetChannelDevice():-        if (ciHandler)-           ciHandler->StartDecrypting();+        CiStartDecrypting();         }      else         Result = scrFailed;@@ -1258,8 +1318,7 @@          Unlock();          if (!Running())             Start();-         if (ciHandler)-            ciHandler->StartDecrypting();+         CiStartDecrypting();          return true;          }       }@@ -1286,8 +1345,7 @@       else if (receiver[i])          receiversLeft = true;       }-  if (ciHandler)-     ciHandler->StartDecrypting();+  CiStartDecrypting();   if (!receiversLeft)      Cancel(3); }diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/device.h vdr-1.4.7-sc7/device.h--- vdr-1.4.7-orig/device.h	2006-06-15 11:32:48.000000000 +0200+++ vdr-1.4.7-sc7/device.h	2007-05-13 18:04:04.000000000 +0200@@ -311,6 +311,14 @@  protected:   cCiHandler *ciHandler;+  int ciSource, ciTransponder;+  cList<cCiCaProgramData> ciProgramList;+  cMutex ciListMutex;+  virtual void CiStartDecrypting(void);+  virtual bool CiAllowConcurrent(void) const { return false; }+  void CiSetSource(int Source, int Transponder);+  void CiAddPid(int ProgramNumber, int Pid, int StreamType);+  void CiSetPid(int Pid, bool Active); public:   cCiHandler *CiHandler(void) { return ciHandler; } diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/dvbdevice.c vdr-1.4.7-sc7/dvbdevice.c--- vdr-1.4.7-orig/dvbdevice.c	2007-02-24 12:10:14.000000000 +0100+++ vdr-1.4.7-sc7/dvbdevice.c	2007-06-24 19:42:24.000000000 +0200@@ -419,7 +419,11 @@      dvb_frontend_info feinfo;      if (ioctl(fd_frontend, FE_GET_INFO, &feinfo) >= 0) {         frontendType = feinfo.type;-        ciHandler = cCiHandler::CreateCiHandler(*cDvbName(DEV_DVB_CA, n));+        int fd_ca = DvbOpen(DEV_DVB_CA, n, O_RDWR);+        if(fd_ca>=0) {+          ciHandler = cCiHandler::CreateCiHandler(fd_ca);+          if(!ciHandler) close(fd_ca);+          }         dvbTuner = new cDvbTuner(fd_frontend, CardIndex(), frontendType, ciHandler);         }      else@@ -776,8 +780,12 @@            if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) { #ifdef DO_MULTIPLE_RECORDINGS #ifndef DO_MULTIPLE_CA_CHANNELS-              if (Ca() >= CA_ENCRYPTED_MIN || Channel->Ca() >= CA_ENCRYPTED_MIN)-                 needsDetachReceivers = Ca() != Channel->Ca();+              if (Ca() >= CA_ENCRYPTED_MIN || Channel->Ca() >= CA_ENCRYPTED_MIN) {+                 if(Channel->Ca()<CA_ENCRYPTED_MIN || CiAllowConcurrent())+                   result = true;+                 else+                   needsDetachReceivers = Ca() != Channel->Ca();+                 }               else #endif               if (!IsPrimaryDevice())@@ -927,7 +935,7 @@            SetPid(&pidHandles[ptAudio], ptAudio, true);            if (ciHandler) {               ciHandler->SetPid(pidHandles[ptAudio].pid, true);-              ciHandler->StartDecrypting();+              CiStartDecrypting();               }            }         }diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/tools.c vdr-1.4.7-sc7/tools.c--- vdr-1.4.7-orig/tools.c	2006-12-02 12:12:59.000000000 +0100+++ vdr-1.4.7-sc7/tools.c	2007-05-13 18:04:04.000000000 +0200@@ -542,9 +542,9 @@  // --- cTimeMs --------------------------------------------------------------- -cTimeMs::cTimeMs(void)+cTimeMs::cTimeMs(int Ms) {-  Set();+  Set(Ms); }  uint64_t cTimeMs::Now(void)diff -urN -X ex.vdr-sc7 vdr-1.4.7-orig/tools.h vdr-1.4.7-sc7/tools.h--- vdr-1.4.7-orig/tools.h	2006-12-03 18:38:38.000000000 +0100+++ vdr-1.4.7-sc7/tools.h	2007-05-13 18:04:04.000000000 +0200@@ -162,7 +162,7 @@ private:   uint64_t begin; public:-  cTimeMs(void);+  cTimeMs(int Ms = 0);   static uint64_t Now(void);   void Set(int Ms = 0);   bool TimedOut(void);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片一区二区三区| 亚洲一区av在线| 欧美一级二级三级乱码| 欧美日韩中字一区| 欧美性猛交xxxx乱大交退制版| 成人午夜视频福利| 国产91精品精华液一区二区三区| 国产精品综合在线视频| 国产一区在线精品| 国产精品99久久久| av在线播放成人| 91免费看`日韩一区二区| 色综合久久久久综合99| 欧美专区亚洲专区| 91精品国产色综合久久ai换脸| 欧美一区二区三区公司| 欧美一区二区视频在线观看2020 | 精品国产sm最大网站| 欧美不卡视频一区| 国产欧美一区二区精品忘忧草| 国产精品伦一区| 亚洲一区在线观看免费| 久久超碰97中文字幕| 成人性色生活片免费看爆迷你毛片| 99久久精品国产网站| 7777女厕盗摄久久久| 久久综合久久鬼色| 亚洲国产综合视频在线观看| 精品一区二区三区不卡| 99久久精品国产观看| 日韩一区二区视频| 中文字幕一区二区三区av| 日韩精品国产精品| av电影天堂一区二区在线观看| 制服丝袜中文字幕一区| 欧美国产日韩亚洲一区| 午夜精品视频在线观看| 成人永久看片免费视频天堂| 正在播放亚洲一区| 成人免费小视频| 激情欧美一区二区| 精品视频在线免费| 国产精品国产三级国产aⅴ入口| 五月婷婷欧美视频| 91在线丨porny丨国产| 精品国产91久久久久久久妲己 | 成人免费黄色大片| 日韩免费观看高清完整版在线观看| 国产精品国产三级国产普通话99 | 波多野结衣亚洲| 日韩视频不卡中文| 亚洲电影一级黄| 成人免费va视频| 久久久久久电影| 婷婷中文字幕综合| 91成人免费在线| 国产精品久线观看视频| 国产麻豆成人精品| 欧美岛国在线观看| 天天色天天爱天天射综合| 91免费在线看| 亚洲精品国产品国语在线app| 国产麻豆精品视频| 久久蜜臀中文字幕| 韩国三级在线一区| 日韩精品中文字幕一区| 日日夜夜精品视频天天综合网| 91免费观看视频在线| 136国产福利精品导航| 国产精品99久久久久久似苏梦涵| 日韩你懂的在线播放| 精品一区二区三区日韩| 欧美高清视频在线高清观看mv色露露十八 | 欧美午夜理伦三级在线观看| 亚洲欧洲日本在线| 暴力调教一区二区三区| 亚洲色欲色欲www在线观看| av日韩在线网站| 亚洲人亚洲人成电影网站色| 91网上在线视频| 一区二区三区免费在线观看| 在线这里只有精品| 亚洲国产aⅴ成人精品无吗| 欧美日韩一区三区四区| 午夜电影久久久| 精品国产91洋老外米糕| 国产一区二区精品在线观看| 日韩免费观看高清完整版在线观看| 九九**精品视频免费播放| 欧美一级高清大全免费观看| 国产一区999| 亚洲日本va午夜在线影院| 欧美在线免费观看亚洲| 日韩av二区在线播放| 精品国产网站在线观看| 国产精品香蕉一区二区三区| 国产精品久久久久久久久快鸭 | 欧美精品久久99久久在免费线 | 中文字幕二三区不卡| 一本久久精品一区二区| 日日欢夜夜爽一区| 精品88久久久久88久久久 | 亚洲免费av高清| 欧美一级黄色录像| 成人黄色大片在线观看| 日韩中文字幕1| 国产日韩精品久久久| 欧美亚州韩日在线看免费版国语版| 午夜久久久久久久久久一区二区| 26uuu成人网一区二区三区| 99riav一区二区三区| 秋霞午夜鲁丝一区二区老狼| 国产精品色在线观看| 欧美日韩三级视频| 成人免费视频一区| 天堂蜜桃91精品| 亚洲欧洲性图库| 精品盗摄一区二区三区| 在线观看成人小视频| 国产老妇另类xxxxx| 婷婷一区二区三区| 亚洲日本护士毛茸茸| 久久众筹精品私拍模特| 一本久久综合亚洲鲁鲁五月天 | 国产精品黄色在线观看| 日韩精品中文字幕在线一区| 在线观看亚洲精品视频| 成人午夜激情在线| 久久99久久久久| 一区av在线播放| 国产精品久久久久久户外露出 | 91视频xxxx| 国产成人自拍网| 日本不卡高清视频| 亚洲chinese男男1069| 日韩伦理av电影| 国产片一区二区| 久久免费美女视频| 欧美成人vps| 欧美一级生活片| 欧美日韩亚洲综合在线| 在线亚洲免费视频| 色美美综合视频| 99久久久久久| 91麻豆福利精品推荐| 91亚洲永久精品| 91免费视频大全| 在线亚洲欧美专区二区| 99麻豆久久久国产精品免费| 成人一级片网址| 成人国产精品视频| 国产69精品久久久久毛片| 国产精品综合二区| 国产黄色91视频| 国产不卡在线视频| 大桥未久av一区二区三区中文| 国产乱人伦精品一区二区在线观看 | 欧美精品亚洲二区| 欧美日韩久久久一区| 777xxx欧美| 日韩欧美美女一区二区三区| 欧美高清视频不卡网| 日韩欧美一级片| 久久精品一区二区| 亚洲国产高清在线| 18涩涩午夜精品.www| 亚洲图片欧美视频| 美女脱光内衣内裤视频久久网站| 麻豆精品视频在线观看视频| 精品一区二区三区影院在线午夜 | 久久国产夜色精品鲁鲁99| 美女视频网站久久| 风间由美中文字幕在线看视频国产欧美| 国产99久久久久久免费看农村| 91首页免费视频| 777xxx欧美| 国产精品久久久久一区| 亚洲三级电影网站| 午夜av区久久| 国产盗摄一区二区三区| 97精品久久久午夜一区二区三区| 欧美无人高清视频在线观看| 日韩写真欧美这视频| 国产精品美女久久久久久久| 亚洲国产精品人人做人人爽| 日本午夜精品一区二区三区电影| 国产精品白丝jk黑袜喷水| 欧美日韩一本到| 亚洲国产成人自拍| 爽好多水快深点欧美视频| 国产精品一区二区三区99| 欧洲一区在线电影| 2024国产精品视频| 亚洲一区在线观看免费 | 成人免费看的视频| 欧美疯狂做受xxxx富婆| 中文字幕的久久| 精品在线播放免费| 欧美伊人久久久久久久久影院| 精品伦理精品一区|