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();
44 qint64 bytesAvailable()
const override;
48 qint64
readData(
char *data, qint64 maxlen)
override;
51 qint64
writeData(
const char *data, qint64 len)
override;
56 static constexpr
int SampleCountPerEvent = 4800;
57 QAudioFormat m_outputFormat;
58 float m_maxSampleOutput = 0.0;
59 int m_sampleCount = 0;
60 const double m_maxDb = 0;
61 const double m_minDb = -40;
71 COutput(QObject *parent =
nullptr);
99 bool m_started =
false;
101 QScopedPointer<QAudioSink> m_audioOutput;
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.
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.