summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/multimedia/platform/darwin/mediaplayer/avfmediaplayer.mm13
-rw-r--r--src/multimedia/platform/darwin/mediaplayer/avfmediaplayer_p.h2
-rw-r--r--src/multimedia/platform/darwin/mediaplayer/avfmetadata_p.h2
3 files changed, 16 insertions, 1 deletions
diff --git a/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer.mm b/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer.mm
index 3d6fa67ae..ddd9855fb 100644
--- a/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer.mm
+++ b/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer.mm
@@ -595,6 +595,14 @@ void AVFMediaPlayer::setMedia(const QUrl &content, QIODevice *stream)
setSeekable(false);
m_requestedPosition = -1;
Q_EMIT positionChanged(position());
+ if (m_duration != 0) {
+ m_duration = 0;
+ Q_EMIT durationChanged(0);
+ }
+ if (!m_metaData.isEmpty()) {
+ m_metaData.clear();
+ metaDataChanged();
+ }
const QMediaPlayer::MediaStatus oldMediaStatus = m_mediaStatus;
const QMediaPlayer::PlaybackState oldState = m_state;
@@ -755,6 +763,11 @@ QAudioDeviceInfo AVFMediaPlayer::audioOutput() const
return m_audioOutput;
}
+QMediaMetaData AVFMediaPlayer::metaData() const
+{
+ return m_metaData;
+}
+
void AVFMediaPlayer::setPlaybackRate(qreal rate)
{
#ifdef QT_DEBUG_AVF
diff --git a/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer_p.h b/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer_p.h
index 686d2ea11..edfa21c7c 100644
--- a/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer_p.h
+++ b/src/multimedia/platform/darwin/mediaplayer/avfmediaplayer_p.h
@@ -108,6 +108,8 @@ public:
QAudioDeviceInfo audioOutput() const override;
QAudioDeviceInfo m_audioOutput;
+ QMediaMetaData metaData() const override;
+
public Q_SLOTS:
void setPlaybackRate(qreal rate) override;
void nativeSizeChanged(QSize size);
diff --git a/src/multimedia/platform/darwin/mediaplayer/avfmetadata_p.h b/src/multimedia/platform/darwin/mediaplayer/avfmetadata_p.h
index a02af556a..03fa771f5 100644
--- a/src/multimedia/platform/darwin/mediaplayer/avfmetadata_p.h
+++ b/src/multimedia/platform/darwin/mediaplayer/avfmetadata_p.h
@@ -61,7 +61,7 @@ Q_FORWARD_DECLARE_OBJC_CLASS(AVAssetTrack);
class AVFMediaPlayer;
-class AVFMetaData
+class AVFMetaData : public QMediaMetaData
{
public:
static QMediaMetaData fromAsset(AVAsset *asset);