Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
mfplayercontrol_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef MFPLAYERCONTROL_H
5#define MFPLAYERCONTROL_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qurl.h"
19#include "private/qplatformmediaplayer_p.h"
20
21#include <QtCore/qcoreevent.h>
22
24
25class MFPlayerSession;
26
28{
29public:
32
33 QMediaPlayer::PlaybackState state() const override;
34
36
37 qint64 duration() const override;
38
39 qint64 position() const override;
40 void setPosition(qint64 position) override;
41
42 float bufferProgress() const override;
43
44 bool isAudioAvailable() const override;
45 bool isVideoAvailable() const override;
46
47 bool isSeekable() const override;
48
50
51 qreal playbackRate() const override;
52 void setPlaybackRate(qreal rate) override;
53
54 QUrl media() const override;
55 const QIODevice *mediaStream() const override;
56 void setMedia(const QUrl &media, QIODevice *stream) override;
57
58 void play() override;
59 void pause() override;
60 void stop() override;
61
62 bool streamPlaybackSupported() const override { return true; }
63
64 QMediaMetaData metaData() const override;
65
67
68 void setVideoSink(QVideoSink *sink) override;
69
70 void setActiveTrack(TrackType type, int index) override;
71 int activeTrack(TrackType type) override;
72 int trackCount(TrackType type) override;
73 QMediaMetaData trackMetaData(TrackType type, int trackNumber) override;
74
80 void handleSeekableUpdate(bool seekable);
81 void handleError(QMediaPlayer::Error errorCode, const QString& errorString, bool isFatal);
82
83private:
84 void changeState(QMediaPlayer::PlaybackState state);
85 void resetAudioVideoAvailable();
86 void refreshState();
87
89 bool m_stateDirty;
90
91 bool m_videoAvailable;
92 bool m_audioAvailable;
93 qint64 m_duration;
94 bool m_seekable;
95
96 QIODevice *m_stream;
97 QUrl m_media;
98 MFPlayerSession *m_session;
99};
100
102
103#endif
QMediaPlayer player
Definition audio.cpp:213
bool streamPlaybackSupported() const override
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 pause() override
void setActiveTrack(TrackType type, int index) override
void setAudioOutput(QPlatformAudioOutput *output) override
QMediaMetaData trackMetaData(TrackType type, int trackNumber) override
void setPlaybackRate(qreal rate) override
void setMedia(const QUrl &media, QIODevice *stream) override
void play() 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 handleDurationUpdate(qint64 duration)
int trackCount(TrackType type) override
bool isSeekable() const override
void stop() override
\inmodule QtCore \reentrant
Definition qiodevice.h:34
\inmodule QtMultimedia
The QMediaPlayer class allows the playing of a media files.
MediaStatus
\qmlproperty enumeration QtMultimedia::MediaPlayer::playbackState
PlaybackState
Defines the current state of a media player.
Error
\qmlproperty enumeration QtMultimedia::MediaPlayer::mediaStatus
The QMediaTimeRange class represents a set of zero or more disjoint time intervals.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qurl.h:94
The QVideoSink class represents a generic sink for video data.
Definition qvideosink.h:22
static bool isFatal(QtMsgType msgType)
Definition qlogging.cpp:202
Combined button and popup list for selecting options.
EGLStreamKHR stream
n void setPosition(void) \n\
GLuint index
[2]
GLenum type
GLuint GLenum * rate
GLsizei GLenum GLboolean sink
long long qint64
Definition qtypes.h:60
double qreal
Definition qtypes.h:187
QT_BEGIN_NAMESPACE typedef uchar * output