vdr 2.7.6
cNonBlockingFileReader Class Reference

Public Member Functions

 cNonBlockingFileReader (void)
 
 ~cNonBlockingFileReader ()
 
void Clear (void)
 
void Request (cUnbufferedFile *File, int Length)
 
int Result (uchar **Buffer)
 
bool Reading (void)
 
bool WaitForDataMs (int msToWait)
 
- Public Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
 
virtual ~cThread ()
 
void SetDescription (const char *Description,...) __attribute__((format(printf
 
void bool Start (void)
 
bool Active (void)
 

Protected Member Functions

void Action (void)
 
- Protected Member Functions inherited from cThread
void SetPriority (int Priority)
 
void SetIOPriority (int Priority)
 
void Lock (void)
 
void Unlock (void)
 
bool Running (void)
 
void Cancel (int WaitSeconds=0)
 

Private Attributes

cUnbufferedFilef
 
ucharbuffer
 
int wanted
 
int length
 
cCondWait newSet
 
cCondVar newDataCond
 
cMutex newDataMutex
 

Additional Inherited Members

- Static Public Member Functions inherited from cThread
static tThreadId ThreadId (void)
 
static tThreadId IsMainThread (void)
 
static void SetMainThreadId (void)
 

Detailed Description

Definition at line 129 of file dvbplayer.c.

Constructor & Destructor Documentation

◆ cNonBlockingFileReader()

cNonBlockingFileReader::cNonBlockingFileReader ( void )

Definition at line 150 of file dvbplayer.c.

References buffer, cThread::cThread(), f, length, cThread::Start(), and wanted.

◆ ~cNonBlockingFileReader()

cNonBlockingFileReader::~cNonBlockingFileReader ( )

Definition at line 159 of file dvbplayer.c.

References buffer, cThread::Cancel(), and newSet.

Member Function Documentation

◆ Action()

void cNonBlockingFileReader::Action ( void )
protectedvirtual

A derived cThread class must implement the code it wants to execute as a separate thread in this function.

If this is a loop, it must check Running() repeatedly to see whether it's time to stop.

Implements cThread.

Definition at line 199 of file dvbplayer.c.

References buffer, f, FATALERRNO, length, cThread::Lock(), LOG_ERROR, newDataCond, newDataMutex, newSet, cThread::Running(), cThread::Unlock(), and wanted.

◆ Clear()

void cNonBlockingFileReader::Clear ( void )

Definition at line 166 of file dvbplayer.c.

References buffer, f, length, cThread::Lock(), cThread::Unlock(), and wanted.

Referenced by Request().

◆ Reading()

bool cNonBlockingFileReader::Reading ( void )
inline

Definition at line 146 of file dvbplayer.c.

References buffer.

◆ Request()

void cNonBlockingFileReader::Request ( cUnbufferedFile * File,
int Length )

Definition at line 176 of file dvbplayer.c.

References buffer, Clear(), f, cThread::Lock(), MALLOC, newSet, cThread::Unlock(), and wanted.

◆ Result()

int cNonBlockingFileReader::Result ( uchar ** Buffer)

Definition at line 187 of file dvbplayer.c.

References buffer, length, LOCK_THREAD, and wanted.

◆ WaitForDataMs()

bool cNonBlockingFileReader::WaitForDataMs ( int msToWait)

Definition at line 227 of file dvbplayer.c.

References buffer, length, newDataCond, newDataMutex, and wanted.

Member Data Documentation

◆ buffer

uchar* cNonBlockingFileReader::buffer
private

◆ f

cUnbufferedFile* cNonBlockingFileReader::f
private

Definition at line 131 of file dvbplayer.c.

Referenced by Action(), Clear(), cNonBlockingFileReader(), and Request().

◆ length

int cNonBlockingFileReader::length
private

Definition at line 134 of file dvbplayer.c.

Referenced by Action(), Clear(), cNonBlockingFileReader(), Result(), and WaitForDataMs().

◆ newDataCond

cCondVar cNonBlockingFileReader::newDataCond
private

Definition at line 136 of file dvbplayer.c.

Referenced by Action(), and WaitForDataMs().

◆ newDataMutex

cMutex cNonBlockingFileReader::newDataMutex
private

Definition at line 137 of file dvbplayer.c.

Referenced by Action(), and WaitForDataMs().

◆ newSet

cCondWait cNonBlockingFileReader::newSet
private

Definition at line 135 of file dvbplayer.c.

Referenced by Action(), Request(), and ~cNonBlockingFileReader().

◆ wanted

int cNonBlockingFileReader::wanted
private

Definition at line 133 of file dvbplayer.c.

Referenced by Action(), Clear(), cNonBlockingFileReader(), Request(), Result(), and WaitForDataMs().


The documentation for this class was generated from the following file: