1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-25 08:38:39 +02:00
audacity/src/RingBuffer.h
martynshaw99 4ce2643d5f Remove the
// Indentation settings for Vim and Emacs
etc. lines from all files, as Campbell's patch (except for other changes to Languages.cpp)
2013-09-24 00:14:37 +00:00

47 lines
901 B
C++

/**********************************************************************
Audacity: A Digital Audio Editor
RingBuffer.h
Dominic Mazzoni
*******************************************************************/
#ifndef __AUDACITY_RING_BUFFER__
#define __AUDACITY_RING_BUFFER__
#include "SampleFormat.h"
class RingBuffer {
public:
RingBuffer(sampleFormat format, int size);
~RingBuffer();
//
// For the writer only:
//
int AvailForPut();
int Put(samplePtr buffer, sampleFormat format, int samples, int stride = 1);
//
// For the reader only:
//
int AvailForGet();
int Get(samplePtr buffer, sampleFormat format, int samples);
int Discard(int samples);
private:
int Len();
sampleFormat mFormat;
int mStart;
int mEnd;
int mBufferSize;
samplePtr mBuffer;
};
#endif /* __AUDACITY_RING_BUFFER__ */