vdr
2.2.0
|
#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) |
cFrame * | Get (void) |
void | Drop (cFrame *Frame) |
![]() | |
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 |
cFrame * | head |
int | currentFill |
Additional Inherited Members | |
![]() | |
void | UpdatePercentage (int Fill) |
void | WaitForPut (void) |
void | WaitForGet (void) |
void | EnablePut (void) |
void | EnableGet (void) |
virtual int | Free (void) |
int | Size (void) |
![]() | |
tThreadId | getThreadTid |
int | maxFill |
int | lastPercent |
bool | statistics |
Definition at line 129 of file ringbuffer.h.
cRingBufferFrame::cRingBufferFrame | ( | int | Size, |
bool | Statistics = false |
||
) |
Definition at line 418 of file ringbuffer.c.
References currentFill, and head.
|
virtual |
Definition at line 425 of file ringbuffer.c.
References Clear().
|
virtual |
Implements cRingBuffer.
Definition at line 496 of file ringbuffer.c.
References currentFill, Lock(), and Unlock().
|
virtual |
Implements cRingBuffer.
Definition at line 430 of file ringbuffer.c.
References Drop(), cRingBuffer::EnableGet(), cRingBuffer::EnablePut(), Get(), Lock(), and Unlock().
Referenced by cDvbPlayer::Empty(), and ~cRingBufferFrame().
|
private |
Definition at line 469 of file ringbuffer.c.
References cFrame::Count(), and currentFill.
Referenced by Drop().
void cRingBufferFrame::Drop | ( | cFrame * | Frame | ) |
Definition at line 475 of file ringbuffer.c.
References Delete(), cRingBuffer::EnablePut(), esyslog, head, Lock(), cFrame::next, and Unlock().
Referenced by cDvbPlayer::Action(), and Clear().
cFrame * cRingBufferFrame::Get | ( | void | ) |
Definition at line 461 of file ringbuffer.c.
References head, Lock(), cFrame::next, and Unlock().
Referenced by cDvbPlayer::Action(), and Clear().
|
inlineprivate |
Definition at line 135 of file ringbuffer.h.
References cMutex::Lock().
Referenced by Available(), Clear(), Drop(), Get(), and Put().
bool cRingBufferFrame::Put | ( | cFrame * | Frame | ) |
Definition at line 441 of file ringbuffer.c.
References cFrame::Count(), currentFill, cRingBuffer::EnableGet(), cRingBuffer::Free(), head, Lock(), cFrame::next, and Unlock().
Referenced by cDvbPlayer::Action().
|
inlineprivate |
Definition at line 136 of file ringbuffer.h.
References cRingBuffer::Available(), cRingBuffer::Clear(), cRingBuffer::Size(), and cMutex::Unlock().
Referenced by Available(), Clear(), Drop(), Get(), and Put().
|
private |
Definition at line 133 of file ringbuffer.h.
Referenced by Available(), cRingBufferFrame(), Delete(), and Put().
|
private |
Definition at line 132 of file ringbuffer.h.
Referenced by cRingBufferFrame(), Drop(), Get(), and Put().
|
private |
Definition at line 131 of file ringbuffer.h.