vdr
1.7.31
|
#include <device.h>
Public Member Functions | |
cTSBuffer (int File, int Size, int CardIndex) | |
~cTSBuffer () | |
uchar * | Get (void) |
cTSBuffer (int File, int Size, int CardIndex) | |
~cTSBuffer () | |
uchar * | Get (void) |
![]() | |
cThread (const char *Description=NULL) | |
virtual | ~cThread () |
void | SetDescription (const char *Description,...) __attribute__((format(printf |
void bool | Start (void) |
bool | Active (void) |
cThread (const char *Description=NULL) | |
virtual | ~cThread () |
void | SetDescription (const char *Description,...) __attribute__((format(printf |
void bool | Start (void) |
bool | Active (void) |
Private Member Functions | |
virtual void | Action (void) |
virtual void | Action (void) |
Private Attributes | |
int | f |
int | cardIndex |
bool | delivered |
cRingBufferLinear * | ringBuffer |
Additional Inherited Members | |
![]() | |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
![]() | |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
virtual void | Action (void)=0 |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
virtual void | Action (void)=0 |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
Derived cDevice classes that can receive channels will have to provide Transport Stream (TS) packets one at a time.
cTSBuffer implements a simple buffer that allows the device to read a larger amount of data from the driver with each call to Read(), thus avoiding the overhead of getting each TS packet separately from the driver. It also makes sure the returned data points to a TS packet and automatically re-synchronizes after broken packets.
cTSBuffer::cTSBuffer | ( | int | File, |
int | Size, | ||
int | CardIndex | ||
) |
Definition at line 1736 of file device.c.
References cardIndex, delivered, f, ringBuffer, cThread::SetDescription(), cRingBuffer::SetIoThrottle(), cRingBuffer::SetTimeouts(), cThread::Start(), and TS_SIZE.
cTSBuffer::~cTSBuffer | ( | ) |
Definition at line 1748 of file device.c.
References cThread::Cancel(), and ringBuffer.
cTSBuffer::cTSBuffer | ( | int | File, |
int | Size, | ||
int | CardIndex | ||
) |
cTSBuffer::~cTSBuffer | ( | ) |
|
privatevirtual |
Definition at line 1754 of file device.c.
References cardIndex, esyslog, f, FATALERRNO, LOG_ERROR, cPoller::Poll(), cRingBufferLinear::Read(), ringBuffer, and cThread::Running().
|
privatevirtual |
uchar* cTSBuffer::Get | ( | void | ) |
uchar * cTSBuffer::Get | ( | void | ) |
Definition at line 1776 of file device.c.
References cardIndex, cRingBufferLinear::Del(), delivered, esyslog, cRingBufferLinear::Get(), ringBuffer, TS_SIZE, and TS_SYNC_BYTE.
Referenced by cDvbDevice::GetTSPacket().
|
private |
Definition at line 785 of file device.h.
Referenced by Action(), cTSBuffer(), and Get().
|
private |
Definition at line 786 of file device.h.
Referenced by cTSBuffer(), and Get().
|
private |
Definition at line 784 of file device.h.
Referenced by Action(), and cTSBuffer().
|
private |
Definition at line 787 of file device.h.
Referenced by Action(), cTSBuffer(), Get(), and ~cTSBuffer().