29 #define BUFFER_SIZE (1024 * 1024) 32 #define MIN_DIRECT_IO_BLOCK_SIZE (BUFFER_SIZE / 2) 37 m_first(0), m_last(0), m_mode(
Kwave::
Insert), m_position(0),
70 unsigned int count = samples.
size();
81 m_buffer_used += count;
88 write(samples, count);
110 while (!reader.
eof() && !
eof()) {
122 if (!
flush())
return *
this;
129 *this << static_cast<sample_t>(0);
154 if (data.
size()) (*
this) << data;
#define MIN_DIRECT_IO_BLOCK_SIZE
virtual bool write(const Kwave::SampleArray &buffer, unsigned int &count)=0
void sigSamplesWritten(sample_index_t)
Kwave::SampleArray m_buffer
unsigned int m_buffer_used
virtual ~Writer() Q_DECL_OVERRIDE
sample_index_t m_position
void input(Kwave::SampleArray data)
virtual Writer & operator<<(const Kwave::SampleArray &samples)
unsigned int size() const
unsigned int read(Kwave::SampleArray &buffer, unsigned int dstoff, unsigned int length)
unsigned int m_buffer_size
Kwave::InsertMode mode() const