|
SASC
DVBSoftCAM
|
#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <vdr/device.h>#include <vdr/channels.h>#include <vdr/thread.h>#include <vdr/ringbuffer.h>#include "cam.h"#include "global.h"#include "device.h"#include "scsetup.h"#include "filter.h"#include "system.h"#include "data.h"#include "override.h"#include "misc.h"#include "log-core.h"#include "FFdecsa/FFdecsa.h"Go to the source code of this file.
Classes | |
| class | cLogStats |
| class | cHookManager |
| class | cLogChain |
| class | cLogger |
| class | cEcmData |
| class | cEcmPri |
| class | cEcmHandler |
| class | cChannelCaids |
| class | cChannelList |
| class | cScCamSlot |
| class | cCams |
| SASC. More... | |
| struct | TPDU |
Defines | |
| #define | IDLE_SLEEP 0 |
| #define | IDLE_GETCA 200 |
| #define | IDLE_GETCA_SLOW 20000 |
| #define | IDLE_NO_SYNC 800 |
| #define | IDLE_SYNC 2000 |
| #define | CW_REPEAT_TIME 2000 |
| #define | LOG_COUNT 3 |
| #define | CHAIN_HOLD 120000 |
| #define | ECM_DATA_TIME 6000 |
| #define | MAX_ECM_IDLE 300000 |
| #define | MAX_ECM_HOLD 15000 |
| #define | ECMCACHE_FILE "ecm.cache" |
| #define | L_HEX 2 |
| #define | L_HEX_ECM LCLASS(L_HEX,2) |
| #define | L_HEX_EMM LCLASS(L_HEX,4) |
| #define | L_HEX_CAT LCLASS(L_HEX,8) |
| #define | L_HEX_PMT LCLASS(L_HEX,16) |
| #define | L_HEX_HOOK LCLASS(L_HEX,32) |
| #define | L_HEX_ALL LALL(L_HEX_HOOK) |
| #define | TYPENAME(type) (typeNames[(type)<=7?(type):7]) |
| #define | COUNTS 20 |
| #define | SAMPLE (30*1000) |
| #define | AVR1 (60*1000) |
| #define | AVR2 (4*60*1000) |
| #define | AVR3 (10*60*1000) |
| #define | REPORT (60*1000) |
| #define | CACHE_VERS 1 |
| #define | LEN_OFF 2 |
| #define | TDPU_SIZE_INDICATOR 0x80 |
| #define | CAID_TIME 300000 |
| #define | TRIGGER_TIME 10000 |
| #define | SLOT_CAID_CHECK 10000 |
| #define | SLOT_RESET_TIME 600 |
| #define | TPDU(data, slot) do { unsigned char *_d=(data); _d[0]=(slot); _d[1]=tcid; } while(0) |
| #define | TAG(data, tag, len) do { unsigned char *_d=(data); _d[0]=(tag); _d[1]=(len); } while(0) |
| #define | SB_TAG(data, sb) do { unsigned char *_d=(data); _d[0]=0x80; _d[1]=0x02; _d[2]=tcid; _d[3]=(sb); } while(0) |
| #define | MAX_STALL_MS 70 |
| #define | MAX_REL_WAIT 100 |
| #define | MAX_KEY_WAIT 500 |
| #define | FL_EVEN_GOOD 1 |
| #define | FL_ODD_GOOD 2 |
| #define | FL_ACTIVITY 4 |
Functions | |
| void | LogStatsUp (void) |
| void | LogStatsDown (void) |
Variables | |
| static struct LogModule | lm_hex |
| static const char * | typeNames [] = { "typ0","typ1","VIDEO","typ3","AUDIO","typ5","DOLBY","typ6+" } |
| static cMutex | logstatsMutex |
| static cLogStats * | logstats = 0 |
| cEcmCache | ecmcache |
| static cCams | cams |
| void LogStatsDown | ( | void | ) |
Definition at line 110 of file cam.c.
References cMutex::Lock(), logstats, and cMutex::Unlock().
{
logstatsMutex.Lock();
if(logstats) { delete logstats; logstats=0; }
logstatsMutex.Unlock();
}
| void LogStatsUp | ( | void | ) |
Definition at line 103 of file cam.c.
References L_CORE_AUSTATS, cMutex::Lock(), LOG, and cMutex::Unlock().
{
logstatsMutex.Lock();
if(LOG(L_CORE_AUSTATS) && !logstats) logstats=new cLogStats;
logstatsMutex.Unlock();
}
{
(LMOD_ENABLE|L_HEX_ALL)&LOPT_MASK,
(LMOD_ENABLE)&LOPT_MASK,
"hexdata",
{ "ecm","emm","cat","pmt","hook" }
}
Definition at line 101 of file cam.c.
Referenced by LogStatsDown().
cMutex logstatsMutex [static] |