vdr-plugin-softhddevice-drm-gles 1.6.2
cSoftHdRingbuffer Class Reference

Ringbuffer (FIFO) Implementation. More...

#include <ringbuffer.h>

Public Member Functions

 cSoftHdRingbuffer (size_t)
 cSoftHdRingbuffer constructor
 
 ~cSoftHdRingbuffer (void)
 cSoftHdRingbuffer destructor
 
void Reset (void)
 Reset ring buffer pointers.
 
size_t Write (const void *, size_t)
 Write to a ring buffer.
 
size_t GetWritePointer (void **)
 Get write pointer and free bytes at this position of ring buffer.
 
size_t WriteAdvance (size_t)
 Advance write pointer in ring buffer.
 
size_t Read (void *, size_t)
 Read from a ring buffer.
 
size_t GetReadPointer (const void **)
 Get read pointer and used bytes at this position of ring buffer.
 
size_t ReadAdvance (size_t)
 Advance read pointer in ring buffer.
 
size_t FreeBytes (void)
 Get free bytes in ring buffer.
 
size_t UsedBytes (void)
 Get used bytes in ring buffer.
 

Private Attributes

charm_pBuffer
 ring buffer data
 
const charm_pBufferEnd
 end of buffer
 
size_t m_size
 bytes in buffer (for faster calc)
 
const charm_pReadPointer
 only used by reader
 
charm_pWritePointer
 only used by writer
 
atomic_t m_filled
 how many of the buffer is used
 

Detailed Description

Ringbuffer (FIFO) Implementation.

Definition at line 38 of file ringbuffer.h.

Member Data Documentation

◆ m_filled

atomic_t cSoftHdRingbuffer::m_filled
private

how many of the buffer is used

Definition at line 60 of file ringbuffer.h.

Referenced by cSoftHdRingbuffer(), FreeBytes(), GetReadPointer(), GetWritePointer(), Read(), ReadAdvance(), Reset(), UsedBytes(), Write(), and WriteAdvance().

◆ m_pBuffer

char* cSoftHdRingbuffer::m_pBuffer
private

ring buffer data

Definition at line 53 of file ringbuffer.h.

Referenced by cSoftHdRingbuffer(), Read(), ReadAdvance(), Reset(), Write(), WriteAdvance(), and ~cSoftHdRingbuffer().

◆ m_pBufferEnd

const char* cSoftHdRingbuffer::m_pBufferEnd
private

end of buffer

Definition at line 54 of file ringbuffer.h.

Referenced by cSoftHdRingbuffer(), GetReadPointer(), GetWritePointer(), Read(), ReadAdvance(), Write(), and WriteAdvance().

◆ m_pReadPointer

const char* cSoftHdRingbuffer::m_pReadPointer
private

only used by reader

Definition at line 56 of file ringbuffer.h.

Referenced by cSoftHdRingbuffer(), GetReadPointer(), Read(), ReadAdvance(), and Reset().

◆ m_pWritePointer

char* cSoftHdRingbuffer::m_pWritePointer
private

only used by writer

Definition at line 57 of file ringbuffer.h.

Referenced by cSoftHdRingbuffer(), GetWritePointer(), Reset(), Write(), and WriteAdvance().

◆ m_size

size_t cSoftHdRingbuffer::m_size
private

bytes in buffer (for faster calc)

Definition at line 55 of file ringbuffer.h.

Referenced by FreeBytes(), GetWritePointer(), Write(), and WriteAdvance().


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