15 , m_videoAvailable(
false)
16 , m_audioAvailable(
false)
34 m_session->
stop(
true);
40 resetAudioVideoAvailable();
52 m_session->
load(m_media, m_stream);
54 switch (m_session->
status()) {
112 if (m_state ==
state)
118void MFPlayerControl::refreshState()
122 m_stateDirty =
false;
123#ifdef DEBUG_MEDIAFOUNDATION
124 qDebug() <<
"MFPlayerControl::emit stateChanged" << m_state;
163 if (m_videoAvailable)
165 m_videoAvailable =
true;
171 if (m_audioAvailable)
173 m_audioAvailable =
true;
177void MFPlayerControl::resetAudioVideoAvailable()
179 bool videoDirty =
false;
180 if (m_videoAvailable) {
181 m_videoAvailable =
false;
184 if (m_audioAvailable) {
185 m_audioAvailable =
false;
202 if (m_seekable == seekable)
204 m_seekable = seekable;
215 return m_session->
status();
242 return m_audioAvailable;
247 return m_videoAvailable;
284 error(
int(errorCode), errorString);
bool isAudioAvailable() const override
void handleError(QMediaPlayer::Error errorCode, const QString &errorString, bool isFatal)
qreal playbackRate() const override
QMediaPlayer::PlaybackState state() const override
QMediaMetaData metaData() const override
const QIODevice * mediaStream() const override
void setActiveTrack(TrackType type, int index) override
void setAudioOutput(QPlatformAudioOutput *output) override
QMediaMetaData trackMetaData(TrackType type, int trackNumber) override
void handleAudioAvailable()
void setPlaybackRate(qreal rate) override
void setMedia(const QUrl &media, QIODevice *stream) override
QMediaPlayer::MediaStatus mediaStatus() const override
int activeTrack(TrackType type) override
QUrl media() const override
QMediaTimeRange availablePlaybackRanges() const override
MFPlayerControl(QMediaPlayer *player)
float bufferProgress() const override
void setVideoSink(QVideoSink *sink) override
bool isVideoAvailable() const override
void handleSeekableUpdate(bool seekable)
qint64 duration() const override
qint64 position() const override
void handleVideoAvailable()
void handleDurationUpdate(qint64 duration)
int trackCount(TrackType type) override
void setPosition(qint64 position) override
bool isSeekable() const override
void handleTracksChanged()
void handleStatusChanged()
void setPlaybackRate(qreal rate)
void setPosition(qint64 position)
QMediaMetaData metaData() const
void setAudioOutput(QPlatformAudioOutput *device)
void setVideoSink(QVideoSink *sink)
void setActiveTrack(QPlatformMediaPlayer::TrackType type, int index)
void setPlayerControl(MFPlayerControl *playerControl)
qreal playbackRate() const
void stop(bool immediate=false)
QMediaMetaData trackMetaData(QPlatformMediaPlayer::TrackType type, int trackNumber)
void load(const QUrl &media, QIODevice *stream)
int activeTrack(QPlatformMediaPlayer::TrackType type)
QMediaPlayer::MediaStatus status() const
QMediaTimeRange availablePlaybackRanges()
int trackCount(QPlatformMediaPlayer::TrackType)
\inmodule QtCore \reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
The QVideoSink class represents a generic sink for video data.
static bool isFatal(QtMsgType msgType)
DBusConnection const char DBusError * error
n void setPosition(void) \n\
GLsizei GLenum GLboolean sink
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
QT_BEGIN_NAMESPACE typedef uchar * output