20 lines
529 B
C
20 lines
529 B
C
|
#pragma once
|
||
|
#include "RingBuffer.h"
|
||
|
|
||
|
class GaplessRingBuffer
|
||
|
{
|
||
|
public:
|
||
|
GaplessRingBuffer();
|
||
|
~GaplessRingBuffer();
|
||
|
int Initialize(size_t samples, size_t bps, size_t channels, size_t pregap, size_t postgap);
|
||
|
size_t Read(void *destination, size_t destination_bytes);
|
||
|
bool Empty() const;
|
||
|
size_t Write(const void *input, size_t input_bytes);
|
||
|
void Reset();
|
||
|
private:
|
||
|
RingBuffer ring_buffer;
|
||
|
size_t frameBytes; // byte size of one frame (channels*bps/8)
|
||
|
size_t currentPregapBytes;
|
||
|
size_t pregapBytes;
|
||
|
size_t postgapBytes;
|
||
|
};
|