vdr  2.4.1
Classes | Macros | Functions | Variables
pat.c File Reference
#include "pat.h"
#include <malloc.h>
#include "channels.h"
#include "libsi/section.h"
#include "libsi/descriptor.h"

Go to the source code of this file.

Classes

class  cCaDescriptor
 
class  cCaDescriptors
 
class  cCaDescriptorHandler
 

Macros

#define PMT_SCAN_TIMEOUT   1000
 
#define DBGLOG(a...)
 

Functions

void GetCaDescriptors (int Source, int Transponder, int ServiceId, const int *CaSystemIds, cDynamicBuffer &Buffer, int EsPid)
 
int GetCaPids (int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids)
 
int GetPmtPid (int Source, int Transponder, int ServiceId)
 

Variables

cCaDescriptorHandler CaDescriptorHandler
 

Macro Definition Documentation

◆ DBGLOG

#define DBGLOG (   a...)

Definition at line 289 of file pat.c.

◆ PMT_SCAN_TIMEOUT

#define PMT_SCAN_TIMEOUT   1000

Definition at line 16 of file pat.c.

Function Documentation

◆ GetCaDescriptors()

void GetCaDescriptors ( int  Source,
int  Transponder,
int  ServiceId,
const int *  CaSystemIds,
cDynamicBuffer Buffer,
int  EsPid 
)

Gets all CA descriptors for a given channel.

Copies all available CA descriptors for the given Source, Transponder and ServiceId into the provided buffer. Only those CA descriptors are copied that match one of the given CA system IDs (or all of them, if CaSystemIds is 0xFFFF).

Definition at line 268 of file pat.c.

References CaDescriptorHandler, and cCaDescriptorHandler::GetCaDescriptors().

Referenced by cCiCaPmt::AddPid(), and cCiCaPmt::cCiCaPmt().

Here is the caller graph for this function:

◆ GetCaPids()

int GetCaPids ( int  Source,
int  Transponder,
int  ServiceId,
const int *  CaSystemIds,
int  BufSize,
int *  Pids 
)

Gets all CA pids for a given channel.

Copies all available CA pids from the CA descriptors for the given Source, Transponder and ServiceId into the provided buffer at Pids (at most BufSize - 1 entries, the list will be zero-terminated). Only the CA pids of those CA descriptors are copied that match one of the given CA system IDs (or all of them, if CaSystemIds is 0xFFFF). Returns the number of pids copied into Pids (0 if no CA descriptors are available), or -1 if BufSize was too small to hold all CA pids.

Definition at line 273 of file pat.c.

References CaDescriptorHandler, and cCaDescriptorHandler::GetCaPids().

Referenced by cCamSlot::BuildCaPmts(), and cCamSlot::KeepSharedCaPids().

Here is the caller graph for this function:

◆ GetPmtPid()

int GetPmtPid ( int  Source,
int  Transponder,
int  ServiceId 
)

Gets the Pid of the PMT in which the CA descriptors for this channel are defined.

Definition at line 278 of file pat.c.

References CaDescriptorHandler, and cCaDescriptorHandler::GetPmtPid().

Variable Documentation

◆ CaDescriptorHandler

cCaDescriptorHandler CaDescriptorHandler

Definition at line 266 of file pat.c.

Referenced by GetCaDescriptors(), GetCaPids(), GetPmtPid(), and cPatFilter::Process().