summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-01-11 19:38:20 +0100
committerLars Knoll <lars.knoll@qt.io>2021-01-22 07:01:52 +0000
commit95b766e5ee9180f53539701ae23fe5a023879ace (patch)
treeea9152d6deb084311442605da6e3e1ed52cbc545
parentd33f433d1d126abc1c9d9e95fb0b7958ec095589 (diff)
Outcast of API changes for QMediaPlayer
Change-Id: I6b8a57423f6b97c67382ea3613b7afdf8f706d71 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--src/multimedia/playback/qmediacontent.h2
-rw-r--r--src/multimedia/playback/qmediaplayer.h26
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp2
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h1
4 files changed, 28 insertions, 3 deletions
diff --git a/src/multimedia/playback/qmediacontent.h b/src/multimedia/playback/qmediacontent.h
index 983df47ef..62ba5eada 100644
--- a/src/multimedia/playback/qmediacontent.h
+++ b/src/multimedia/playback/qmediacontent.h
@@ -48,6 +48,8 @@
QT_BEGIN_NAMESPACE
+// ### API changes: Class should go away. Simply use a URL instead.
+
class QMediaPlaylist;
class QMediaContentPrivate;
diff --git a/src/multimedia/playback/qmediaplayer.h b/src/multimedia/playback/qmediaplayer.h
index bd0406278..e6b0e7b37 100644
--- a/src/multimedia/playback/qmediaplayer.h
+++ b/src/multimedia/playback/qmediaplayer.h
@@ -51,6 +51,7 @@ QT_BEGIN_NAMESPACE
class QAbstractVideoSurface;
class QMediaPlaylist;
+class QAudioDeviceInfo;
class QMediaPlayerPrivate;
class Q_MULTIMEDIA_EXPORT QMediaPlayer : public QMediaSource
@@ -98,6 +99,7 @@ public:
InvalidMedia
};
+ // ### Go away
enum Flag
{
LowLatency = 0x01,
@@ -120,17 +122,41 @@ public:
explicit QMediaPlayer(QObject *parent = nullptr, Flags flags = Flags());
~QMediaPlayer();
+ // ### this needs a better solution
static QMultimedia::SupportEstimate hasSupport(const QString &mimeType,
const QStringList& codecs = QStringList(),
Flags flags = Flags());
static QStringList supportedMimeTypes(Flags flags = Flags());
+ // new API
+// bool enableLowLatencyPlayback(bool tryEnable);
+// bool isLowLatencyPlaybackEnabled() const;
+
+// void setAudioOutput(const QAudioDeviceInfo &);
+// QAudioDeviceInfo audioOutput() const;
+
+// using ContentStream = QVariantHash;
+
+// QList<ContentStream> audioStreams() const;
+// QList<ContentStream> videoStreams() const;
+// QList<ContentStream> subtitleStreams() const;
+
+// int audioStream() const;
+// int videoStream() const;
+// int subtitleStream() const;
+
+// void setAudioStream(int index) const;
+// void setVideoStream(int index) const;
+// void setSubtitleStream(int index) const;
+
+ // ### should be QVideoSink
void setVideoOutput(QMediaSink *);
void setVideoOutput(QAbstractVideoSurface *surface);
void setVideoOutput(const QList<QAbstractVideoSurface *> &surfaces);
QMediaContent media() const;
const QIODevice *mediaStream() const;
+ // ### remove playlist support, only support one url or iodevice as source
QMediaPlaylist *playlist() const;
QMediaContent currentMedia() const;
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
index 6cd65b612..3033b04e0 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
@@ -60,8 +60,6 @@
#include <private/qgstreamerplayersession_p.h>
#include <private/qgstreamerplayercontrol_p.h>
-#include <qmediaplaylist.h>
-
QT_BEGIN_NAMESPACE
QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent)
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
index 1cfa606f5..e69eb7c04 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
@@ -47,7 +47,6 @@
QT_BEGIN_NAMESPACE
class QMediaPlayerControl;
-class QMediaPlaylist;
class QGstreamerMetaData;
class QGstreamerPlayerControl;