4#ifndef MFAUDIODECODERCONTROL_H
5#define MFAUDIODECODERCONTROL_H
18#include <decoder/mfdecodersourcereader_p.h>
19#include <sourceresolver_p.h>
21#include <QtMultimedia/private/qplatformaudiodecoder_p.h>
22#include <QtMultimedia/private/qwindowsresampler_p.h>
34 void setSource(
const QUrl &fileName)
override;
52 void handleMediaSourceError(
long hr);
53 void handleNewSample(ComPtr<IMFSample>);
54 void handleSourceFinished();
57 void startReadingSource(
const ComPtr<IMFMediaSource> &source);
59 std::unique_ptr<MFDecoderSourceReader> m_decoderSourceReader;
60 ComPtr<SourceResolver> m_sourceResolver;
61 QWindowsResampler m_resampler;
63 QIODevice *m_device =
nullptr;
64 QAudioFormat m_outputFormat;
65 QAudioBuffer m_audioBuffer;
66 bool m_loadingSource =
false;
67 bool m_deferredStart =
false;
bool canReadQrc() const override
void setAudioFormat(const QAudioFormat &format) override
bool bufferAvailable() const override
QUrl source() const override
void setSourceDevice(QIODevice *device) override
QAudioFormat audioFormat() const override
QAudioBuffer read() override
void setSource(const QUrl &fileName) override
QIODevice * sourceDevice() const override
~MFAudioDecoderControl() override
Combined button and popup list for selecting options.