INET Framework for OMNeT++/OMNEST
inet::VoipStreamSender::Buffer Class Reference

#include <VoipStreamSender.h>

Public Types

enum  { BUFSIZE = 48000 * 2 * 2 }
 

Public Member Functions

 Buffer ()
 
 ~Buffer ()
 
void clear (int framesize)
 
int length () const
 
bool empty () const
 
char * readPtr ()
 
char * writePtr ()
 
int availableSpace () const
 
void notifyRead (int length)
 
void notifyWrote (int length)
 
void align ()
 

Protected Attributes

char * samples
 
int bufferSize
 
int readOffset
 
int writeOffset
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
BUFSIZE 
61 { BUFSIZE = 48000 * 2 * 2 }; // 1 second of two channel 48kHz 16bit audio

Constructor & Destructor Documentation

◆ Buffer()

inet::VoipStreamSender::Buffer::Buffer ( )
42  :
43  samples(nullptr),
44  bufferSize(0),
45  readOffset(0),
46  writeOffset(0)
47 {
48 }

◆ ~Buffer()

inet::VoipStreamSender::Buffer::~Buffer ( )
51 {
52  delete[] samples;
53 }

Member Function Documentation

◆ align()

void inet::VoipStreamSender::Buffer::align ( )
409 {
410  if (readOffset) {
411  if (length())
412  memcpy(samples, samples + readOffset, length());
414  readOffset = 0;
415  }
416 }

Referenced by inet::VoipStreamSender::readFrame().

◆ availableSpace()

int inet::VoipStreamSender::Buffer::availableSpace ( ) const
inline

◆ clear()

void inet::VoipStreamSender::Buffer::clear ( int  framesize)
56 {
57  int newsize = BUFSIZE + framesize;
58  if (bufferSize != newsize) {
59  delete[] samples;
60  bufferSize = newsize;
61  samples = new char[bufferSize];
62  }
63  readOffset = 0;
64  writeOffset = 0;
65 }

Referenced by inet::VoipStreamSender::initialize(), and inet::VoipStreamSender::openSoundFile().

◆ empty()

bool inet::VoipStreamSender::Buffer::empty ( ) const
inline

◆ length()

int inet::VoipStreamSender::Buffer::length ( ) const
inline

◆ notifyRead()

void inet::VoipStreamSender::Buffer::notifyRead ( int  length)
inline

◆ notifyWrote()

void inet::VoipStreamSender::Buffer::notifyWrote ( int  length)
inline

◆ readPtr()

char* inet::VoipStreamSender::Buffer::readPtr ( )
inline

◆ writePtr()

char* inet::VoipStreamSender::Buffer::writePtr ( )
inline
76 { return samples + writeOffset; }

Referenced by inet::VoipStreamSender::readFrame().

Member Data Documentation

◆ bufferSize

int inet::VoipStreamSender::Buffer::bufferSize
protected

◆ readOffset

int inet::VoipStreamSender::Buffer::readOffset
protected

◆ samples

char* inet::VoipStreamSender::Buffer::samples
protected

◆ writeOffset

int inet::VoipStreamSender::Buffer::writeOffset
protected

The documentation for this class was generated from the following files:
inet::VoipStreamSender::Buffer::length
int length() const
Definition: VoipStreamSender.h:73
inet::VoipStreamSender::Buffer::writeOffset
int writeOffset
Definition: VoipStreamSender.h:67
inet::VoipStreamSender::Buffer::bufferSize
int bufferSize
Definition: VoipStreamSender.h:65
inet::VoipStreamSender::Buffer::BUFSIZE
@ BUFSIZE
Definition: VoipStreamSender.h:61
inet::VoipStreamSender::Buffer::samples
char * samples
Definition: VoipStreamSender.h:64
inet::VoipStreamSender::Buffer::readOffset
int readOffset
Definition: VoipStreamSender.h:66