3#ifndef QFFMPEGRESAMPLER_P_H
4#define QFFMPEGRESAMPLER_P_H
18#include <QtFFmpegMediaPluginImpl/private/qffmpeg_p.h>
19#include <QtMultimedia/private/qplatformaudioresampler_p.h>
32 qint64 startTime = 0);
34 qint64 startTime = 0);
47 int adjustMaxOutSamples(
int inputSamplesCount);
49 QAudioBuffer resample(
const uint8_t **inputData,
int inputSamplesCount);
54 qint64 m_startTime = 0;
55 QFFmpeg::SwrContextUPtr m_resampler;
56 qint64 m_samplesProcessed = 0;
58 qint32 m_sampleCompensationDelta = 0;
QAudioBuffer resample(const char *data, size_t size) override
qint64 samplesProcessed() const
QFFmpegResampler(const QFFmpeg::CodecContext *codecContext, const QAudioFormat &outputFormat, qint64 startTime=0)
~QFFmpegResampler() override
void setSampleCompensation(qint32 delta, quint32 distance)
QAudioBuffer resample(const AVFrame *frame)
QFFmpegResampler(const QAudioFormat &inputFormat, const QAudioFormat &outputFormat, qint64 startTime=0)
qint32 activeSampleCompensationDelta() const
RenderingResult pushFrameToOutput(const Frame &frame)
Microseconds durationForBytes(qsizetype bytes) const
~AudioRenderer() override
RenderingResult renderInternal(Frame frame) override
void updateOutputs(const Frame &frame)
void setPitchCompensation(bool enabled)
std::chrono::milliseconds timerInterval() const override
void setOutput(QAudioBufferOutput *bufferOutput)
void initAudioFrameConverter(const Frame &frame)
void updateSynchronization(const SynchronizationStamp &stamp, const Frame &frame)
void onAudioSinkStateChanged(QAudio::State state)
void onPlaybackRateChanged() override
void setOutput(QAudioOutput *output)
void pushFrameToBufferOutput(const Frame &frame)
Microseconds bufferLoadingTime(const SynchronizationStamp &syncStamp) const
void onPauseChanged() override
Combined button and popup list for selecting options.
Microseconds minSoundDelay
Microseconds maxSoundDelay
Microseconds actualBufferDuration
const char * data() const
qsizetype bufferBytesWritten
qsizetype audioSinkBytesFree
QAudio::State audioSinkState