15#ifndef QFFMPEGMEDIAPLAYER_H
16#define QFFMPEGMEDIAPLAYER_H
18#include <QtMultimedia/private/qplatformmediaplayer_p.h>
19#include <qmediametadata.h>
23#include <QtFFmpegMediaPluginImpl/private/qffmpeg_p.h>
24#include <QtFFmpegMediaPluginImpl/private/qffmpegmediadataholder_p.h>
34class QPlatformAudioOutput;
56 void setMedia(
const QUrl &media, QIODevice *stream)
override;
83 void handleIncorrectMedia(QMediaPlayer::MediaStatus status);
84 void setMediaAsync(QFFmpeg::MediaDataHolder::Maybe mediaDataHolder,
85 const std::shared_ptr<QFFmpeg::CancelToken> &cancelToken);
87 void mediaStatusChanged(QMediaPlayer::MediaStatus);
92 void error(QMediaPlayer::Error error,
const QString &errorString)
94 QPlatformMediaPlayer::error(error, errorString);
100 QTimer m_positionUpdateTimer;
105 std::unique_ptr<PlaybackEngine> m_playbackEngine;
106 QPlatformAudioOutput *m_audioOutput =
nullptr;
107 QPointer<QAudioBufferOutput> m_audioBufferOutput;
108 QPointer<QVideoSink> m_videoSink;
111 QPointer<QIODevice> m_device;
112 float m_playbackRate = 1.;
113 float m_bufferProgress = 0.f;
115 std::shared_ptr<QFFmpeg::CancelToken> m_cancelToken;
118 bool m_pitchCompensation =
true;
bool isCancelled() const override
typename QtPrivate::ResultTypeHelper< Function, T >::ResultType ResultType
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType