mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-11-15 00:34:55 -05:00
20 lines
No EOL
529 B
C++
20 lines
No EOL
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;
|
|
}; |