10 namespace swift::sound::sample_provider
15 QStringLiteral(
"%1 format: '%2'").arg(this->metaObject()->className(), swift::sound::toQString(format));
16 this->setObjectName(on);
19 m_maxBufferSize = format.bytesForDuration(10 * 1000 * 1000);
24 int delta = m_audioBuffer.size() + samples.size() - m_maxBufferSize;
25 if (delta > 0) { m_audioBuffer.remove(0, delta); }
26 m_audioBuffer.append(samples);
31 const int len =
static_cast<int>(qMin(count,
static_cast<qint64
>(m_audioBuffer.size())));
32 samples = m_audioBuffer.mid(0, len);
35 m_audioBuffer.remove(0, len);
virtual int readSamples(QVector< float > &samples, qint64 count)
ISampleProvider::readSamples.
CBufferedWaveProvider(const QAudioFormat &format, QObject *parent=nullptr)
Ctor.
void clearBuffer()
Clear the buffer.
void addSamples(const QVector< float > &samples)
Add samples.
Sample provider interface.