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
qmediaplayer_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 QMEDIAPLAYER_P_H
5#define QMEDIAPLAYER_P_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 "qmediaplayer.h"
19#include <QtMultimedia/qmediametadata.h>
20#include <QtMultimedia/qvideosink.h>
21#include <QtMultimedia/qaudiooutput.h>
22#include <QtMultimedia/qaudiobufferoutput.h>
23#include <QtMultimedia/qplaybackoptions.h>
24#include <QtMultimedia/private/qplatformmediaplayer_p.h>
25#include <QtMultimedia/private/qerrorinfo_p.h>
26#include <QtMultimedia/private/qmultimedia_source_resolver_p.h>
27
28#include <QtCore/qobject.h>
29#include <QtCore/qpointer.h>
30#include <QtCore/qurl.h>
31#include <QtCore/qfile.h>
32#include <QtCore/qtimer.h>
33#include <QtCore/private/qobject_p.h>
34
35#include <memory>
36
37QT_BEGIN_NAMESPACE
38
39class QPlatformMediaPlayer;
40
42{
43 Q_DECLARE_PUBLIC(QMediaPlayer)
44
45public:
47 {
48 return reinterpret_cast<QMediaPlayerPrivate *>(QObjectPrivate::get(session));
49 }
50
52 QPlatformMediaPlayer *control = nullptr;
53
61 QIODevice *stream = nullptr;
63
66
67 void setMedia(QUrl media, QIODevice *stream = nullptr);
68
69 QList<QMediaMetaData> trackMetaData(QPlatformMediaPlayer::TrackType s) const;
70
71 void setState(QMediaPlayer::PlaybackState state);
72 void setStatus(QMediaPlayer::MediaStatus status);
73 void setError(QMediaPlayer::Error error, const QString &errorString);
74
75 void setVideoSink(QVideoSink *sink)
76 {
77 Q_Q(QMediaPlayer);
78 if (sink == videoSink)
79 return;
80 if (videoSink)
81 videoSink->setSource(nullptr);
82 videoSink = sink;
83 if (sink)
84 sink->setSource(q);
85 if (control)
86 control->setVideoSink(sink);
87 emit q->videoOutputChanged();
88 }
89
94};
95
96QT_END_NAMESPACE
97
98#endif
QPlatformMediaPlayer * control
void setState(QMediaPlayer::PlaybackState state)
\qmltype MediaPlayer \nativetype QMediaPlayer
QList< QMediaMetaData > trackMetaData(QPlatformMediaPlayer::TrackType s) const
QPlaybackOptions playbackOptions
QPointer< QObject > videoOutput
QErrorInfo< QMediaPlayer::Error > error
void setVideoSink(QVideoSink *sink)
void setMedia(QUrl media, QIODevice *stream=nullptr)
std::unique_ptr< QFile > qrcFile
QPointer< QVideoSink > videoSink
QPointer< QAudioOutput > audioOutput
void setStatus(QMediaPlayer::MediaStatus status)
void setError(QMediaPlayer::Error error, const QString &errorString)
std::unique_ptr< const AbstractSourceResolver > m_sourceResolver
QPointer< QAudioBufferOutput > audioBufferOutput
The QPlaybackOptions class enables low-level control of media playback options.
Combined button and popup list for selecting options.