Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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:
30 MFPlayerControl(QMediaPlayer *player);
32
33 QMediaPlayer::PlaybackState state() const override;
34
35 QMediaPlayer::MediaStatus mediaStatus() const override;
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
66 void setAudioOutput(QPlatformAudioOutput *output) override;
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
79 void handleDurationUpdate(qint64 duration);
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
88 QMediaPlayer::PlaybackState m_state;
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
101QT_END_NAMESPACE
102
103#endif
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
void setPosition(qint64 position) override
bool isSeekable() const override
void stop() override
int capture(const QString &fileName) override
virtual ~QWindowsImageCapture()
QImageEncoderSettings imageSettings() const override
void setImageSettings(const QImageEncoderSettings &settings) override
void setCaptureSession(QPlatformMediaCaptureSession *session)
bool isReadyForCapture() const override
QPlatformImageCapture * imageCapture() override
void setCamera(QPlatformCamera *camera) override
void setAudioInput(QPlatformAudioInput *) override
QPlatformCamera * camera() override
QPlatformMediaRecorder * mediaRecorder() override
void setImageCapture(QPlatformImageCapture *imageCapture) override
void setAudioOutput(QPlatformAudioOutput *output) override
void setMediaRecorder(QPlatformMediaRecorder *recorder) override
QWindowsMediaDeviceSession * session() const
void setMetaData(const QMediaMetaData &metaData) override
QMediaRecorder::RecorderState state() const override
void setCaptureSession(QPlatformMediaCaptureSession *session)
QMediaMetaData metaData() const override
bool isLocationWritable(const QUrl &location) const override
qint64 duration() const override
void record(QMediaEncoderSettings &settings) override
QPlatformMediaFormatInfo * createFormatInfo() override
QMaybe< QPlatformCamera * > createCamera(QCamera *camera) override
QMaybe< QPlatformMediaRecorder * > createRecorder(QMediaRecorder *recorder) override
QMaybe< QPlatformMediaCaptureSession * > createCaptureSession() override
QPlatformVideoDevices * createVideoDevices() override
QMaybe< QPlatformMediaPlayer * > createPlayer(QMediaPlayer *parent) override
QMaybe< QPlatformImageCapture * > createImageCapture(QImageCapture *imageCapture) override
QMaybe< QPlatformVideoSink * > createVideoSink(QVideoSink *sink) override
QMaybe< QPlatformAudioDecoder * > createAudioDecoder(QAudioDecoder *decoder) override
Combined button and popup list for selecting options.