|
JackTrip
|
Same as RingBuffer, except that it uses the Wavetable mode for lost or late packets. More...
#include <RingBufferWavetable.h>


Public Member Functions | |
| RingBufferWavetable (int SlotSize, int NumSlots) | |
| The class constructor. More... | |
| virtual | ~RingBufferWavetable () |
| The class destructor. More... | |
Public Member Functions inherited from RingBuffer | |
| RingBuffer (int SlotSize, int NumSlots) | |
| The class constructor. More... | |
| virtual | ~RingBuffer () |
| The class destructor. More... | |
| void | insertSlotBlocking (const int8_t *ptrToSlot) |
| Insert a slot into the RingBuffer from ptrToSlot. This method will block until there's space in the buffer. More... | |
| void | readSlotBlocking (int8_t *ptrToReadSlot) |
| Read a slot from the RingBuffer into ptrToReadSlot. This method will block until there's space in the buffer. More... | |
| virtual bool | insertSlotNonBlocking (const int8_t *ptrToSlot, int len, int lostLen) |
| Same as insertSlotBlocking but non-blocking (asynchronous) More... | |
| virtual void | readSlotNonBlocking (int8_t *ptrToReadSlot) |
| Same as readSlotBlocking but non-blocking (asynchronous) More... | |
| virtual void | readBroadcastSlot (int8_t *ptrToReadSlot) |
| virtual bool | getStats (IOStat *stat, bool reset) |
Protected Member Functions | |
| virtual void | setUnderrunReadSlot (int8_t *ptrToReadSlot) |
| Sets the memory in the Read Slot when uderrun occurs. This loops as a wavetable in the last received packet. More... | |
Protected Member Functions inherited from RingBuffer | |
| virtual void | setMemoryInReadSlotWithLastReadSlot (int8_t *ptrToReadSlot) |
| Uses the last read slot to set the memory in the Read Slot. More... | |
| void | underrunReset () |
| Resets the ring buffer for reads under-runs non-blocking. More... | |
| void | overflowReset () |
| Resets the ring buffer for writes over-flows non-blocking. More... | |
| void | debugDump () const |
| Helper method to debug, prints member variables to terminal. More... | |
| void | updateReadStats () |
Additional Inherited Members | |
Protected Attributes inherited from RingBuffer | |
| int | mSlotSize |
| The size of one slot in byes. More... | |
| int | mNumSlots |
| Number of Slots. More... | |
| int | mTotalSize |
| Total size of the mRingBuffer = mSlotSize*mNumSlotss. More... | |
| uint32_t | mReadPosition |
| Read Positions in the RingBuffer (Tail) More... | |
| uint32_t | mWritePosition |
| Write Position in the RingBuffer (Head) More... | |
| int | mFullSlots |
| Number of used (full) slots, in slot-size. More... | |
| int8_t * | mRingBuffer |
| 8-bit array of data (1-byte) More... | |
| int8_t * | mLastReadSlot |
| Last slot read. More... | |
| QMutex | mMutex |
| Mutex to protect read and write operations. More... | |
| QWaitCondition | mBufferIsNotFull |
| Buffer not full condition to monitor threads. More... | |
| QWaitCondition | mBufferIsNotEmpty |
| Buffer not empty condition to monitor threads. More... | |
| int | mStatUnit |
| uint32_t | mUnderruns |
| uint32_t | mOverflows |
| int32_t | mSkewRaw |
| double | mLevelCur |
| double | mLevelDownRate |
| int32_t | mLevel |
| uint32_t | mBufDecOverflow |
| uint32_t | mBufDecPktLoss |
| uint32_t | mBufIncUnderrun |
| uint32_t | mBufIncCompensate |
| uint32_t | mReadsNew |
| uint32_t | mUnderrunsNew |
| int32_t | mSkew0 |
| int32_t | mBroadcastSkew |
| int32_t | mBroadcastDelta |
Same as RingBuffer, except that it uses the Wavetable mode for lost or late packets.
|
inline |
The class constructor.
| SlotSize | Size of one slot in bytes |
| NumSlots | Number of slots |
|
inlinevirtual |
The class destructor.
|
inlineprotectedvirtual |
Sets the memory in the Read Slot when uderrun occurs. This loops as a wavetable in the last received packet.
| ptrToReadSlot | Pointer to read slot from the RingBuffer |
Reimplemented from RingBuffer.