vdr 2.6.9
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cRingBufferFrame Class Reference

#include <ringbuffer.h>

Public Member Functions

 cRingBufferFrame (int Size, bool Statistics=false)
 
virtual ~cRingBufferFrame ()
 
virtual int Available (void)
 
virtual void Clear (void)
 
bool Put (cFrame *Frame)
 
cFrameGet (void)
 
void Drop (cFrame *Frame)
 
- Public Member Functions inherited from cRingBuffer
 cRingBuffer (int Size, bool Statistics=false)
 
virtual ~cRingBuffer ()
 
void SetTimeouts (int PutTimeout, int GetTimeout)
 
void SetIoThrottle (void)
 
void ReportOverflow (int Bytes)
 

Private Member Functions

void Delete (cFrame *Frame)
 
void Lock (void)
 
void Unlock (void)
 

Private Attributes

cMutex mutex
 
cFramehead
 
int currentFill
 

Additional Inherited Members

- Protected Member Functions inherited from cRingBuffer
void UpdatePercentage (int Fill)
 
void WaitForPut (void)
 
void WaitForGet (void)
 
void EnablePut (void)
 
void EnableGet (void)
 
virtual int Free (void)
 
int Size (void)
 
- Protected Attributes inherited from cRingBuffer
tThreadId getThreadTid
 
int maxFill
 
int lastPercent
 
bool statistics
 

Detailed Description

Definition at line 133 of file ringbuffer.h.

Constructor & Destructor Documentation

◆ cRingBufferFrame()

cRingBufferFrame::cRingBufferFrame ( int Size,
bool Statistics = false )

Definition at line 420 of file ringbuffer.c.

References currentFill, and head.

◆ ~cRingBufferFrame()

cRingBufferFrame::~cRingBufferFrame ( )
virtual

Definition at line 427 of file ringbuffer.c.

References Clear().

Member Function Documentation

◆ Available()

int cRingBufferFrame::Available ( void )
virtual

Implements cRingBuffer.

Definition at line 498 of file ringbuffer.c.

References currentFill, Lock(), and Unlock().

◆ Clear()

void cRingBufferFrame::Clear ( void )
virtual

Implements cRingBuffer.

Definition at line 432 of file ringbuffer.c.

References Drop(), cRingBuffer::EnableGet(), cRingBuffer::EnablePut(), Get(), Lock(), and Unlock().

Referenced by cDvbPlayer::Empty(), and ~cRingBufferFrame().

◆ Delete()

void cRingBufferFrame::Delete ( cFrame * Frame)
private

Definition at line 471 of file ringbuffer.c.

References cFrame::Count(), and currentFill.

Referenced by Drop().

◆ Drop()

void cRingBufferFrame::Drop ( cFrame * Frame)

Definition at line 477 of file ringbuffer.c.

References Delete(), cRingBuffer::EnablePut(), esyslog, head, Lock(), cFrame::next, and Unlock().

Referenced by cDvbPlayer::Action(), and Clear().

◆ Get()

cFrame * cRingBufferFrame::Get ( void )

Definition at line 463 of file ringbuffer.c.

References head, Lock(), cFrame::next, and Unlock().

Referenced by cDvbPlayer::Action(), and Clear().

◆ Lock()

void cRingBufferFrame::Lock ( void )
inlineprivate

Definition at line 139 of file ringbuffer.h.

References cMutex::Lock(), and mutex.

Referenced by Available(), Clear(), Drop(), Get(), and Put().

◆ Put()

bool cRingBufferFrame::Put ( cFrame * Frame)

◆ Unlock()

void cRingBufferFrame::Unlock ( void )
inlineprivate

Definition at line 140 of file ringbuffer.h.

References mutex, and cMutex::Unlock().

Referenced by Available(), Clear(), Drop(), Get(), and Put().

Member Data Documentation

◆ currentFill

int cRingBufferFrame::currentFill
private

Definition at line 137 of file ringbuffer.h.

Referenced by Available(), cRingBufferFrame(), Delete(), and Put().

◆ head

cFrame* cRingBufferFrame::head
private

Definition at line 136 of file ringbuffer.h.

Referenced by cRingBufferFrame(), Drop(), Get(), and Put().

◆ mutex

cMutex cRingBufferFrame::mutex
private

Definition at line 135 of file ringbuffer.h.

Referenced by Lock(), and Unlock().


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