Home

Dokumentation

Impressum

Dokumentation VDR
 

Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

cRingBufferFrame Class Reference

#include <ringbuffer.h>

Inheritance diagram for cRingBufferFrame:

Inheritance graph
[legend]
Collaboration diagram for cRingBufferFrame:

Collaboration graph
[legend]

Public Methods

 cRingBufferFrame (int Size, bool Statistics=false)
virtual ~cRingBufferFrame ()
virtual int Available (void)
virtual void Clear (void)
bool Put (cFrame *Frame)
const cFrameGet (void)
void Drop (const cFrame *Frame)

Private Methods

void Delete (const cFrame *Frame)

Private Attributes

cFramehead
int currentFill

Constructor & Destructor Documentation

cRingBufferFrame::cRingBufferFrame int    Size,
bool    Statistics = false
 

Definition at line 195 of file ringbuffer.c.

References currentFill, and head.

cRingBufferFrame::~cRingBufferFrame   [virtual]
 

Definition at line 202 of file ringbuffer.c.

References Clear().


Member Function Documentation

int cRingBufferFrame::Available void    [virtual]
 

Implements cRingBuffer.

Definition at line 273 of file ringbuffer.c.

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

Referenced by cDvbPlayer::Action().

void cRingBufferFrame::Clear void    [virtual]
 

Immediately clears the ring buffer.

Implements cRingBuffer.

Definition at line 207 of file ringbuffer.c.

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

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

void cRingBufferFrame::Delete const cFrame   Frame [private]
 

Definition at line 246 of file ringbuffer.c.

References cFrame::Count(), and currentFill.

Referenced by Drop().

void cRingBufferFrame::Drop const cFrame   Frame
 

Drops the Frame that has just been fetched with Get().

Definition at line 252 of file ringbuffer.c.

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

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

const cFrame * cRingBufferFrame::Get void   
 

Gets the next frame from the ring buffer. The actual data still remains in the buffer until Drop() is called.

Definition at line 238 of file ringbuffer.c.

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

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

bool cRingBufferFrame::Put cFrame   Frame
 

Puts the Frame into the ring buffer. Returns true if this was possible.

Definition at line 218 of file ringbuffer.c.

References cFrame::Count(), currentFill, cRingBuffer::EnableGet(), cRingBuffer::Free(), head, cRingBuffer::Lock(), cFrame::next, and cRingBuffer::Unlock().

Referenced by cDvbPlayer::Action().


Field Documentation

int cRingBufferFrame::currentFill [private]
 

Definition at line 86 of file ringbuffer.h.

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

cFrame* cRingBufferFrame::head [private]
 

Definition at line 85 of file ringbuffer.h.

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


The documentation for this class was generated from the following files:
Generated on Wed Feb 5 23:31:53 2003 for VDR by doxygen1.3-rc2