6 #ifndef SWIFT_CORE_AFV_AUDIO_OUTPUT_H
7 #define SWIFT_CORE_AFV_AUDIO_OUTPUT_H
15 namespace swift::core::afv::audio
21 double PeakDb = -1 * std::numeric_limits<double>::infinity();
46 qint64
readData(
char *data, qint64 maxlen)
override;
49 qint64
writeData(
const char *data, qint64 len)
override;
55 bool atEnd()
const override {
return false; }
60 static constexpr
int SampleCountPerEvent = 4800;
61 QAudioFormat m_outputFormat;
62 float m_maxSampleOutput = 0.0;
63 int m_sampleCount = 0;
64 const double m_maxDb = 0;
65 const double m_minDb = -40;
103 bool m_started =
false;
qint64 bytesAvailable() const
qint64 writeData(const char *data, qint64 len)
CAudioOutputBuffer(swift::sound::sample_provider::ISampleProvider *sampleProvider, QObject *parent)
Ctor.
void outputVolumeStream(const OutputVolumeStreamArgs &args)
Volume stream.
void setAudioFormat(const QAudioFormat &format)
Set the format.
bool isSequential() const
qint64 readData(char *data, qint64 maxlen)
const swift::misc::audio::CAudioDeviceInfo & device() const
Corresponding device.
void outputVolumeStream(const OutputVolumeStreamArgs &args)
Streaming data.
COutput(QObject *parent=nullptr)
Ctor.
void start(const swift::misc::audio::CAudioDeviceInfo &outputDevice, swift::sound::sample_provider::ISampleProvider *sampleProvider)
Start output.
Value object encapsulating information of a audio device.
Sample provider interface.
QObject * parent() const const