From 9d2b2a97450095de4a13fd1c3b8d06a4a012bc61 Mon Sep 17 00:00:00 2001 From: Doris Verria Date: Fri, 21 May 2021 11:26:13 +0200 Subject: Fix more test failures for tst_qmediaplayerbackend on macOS Change-Id: Ife42f4671cafa6423257665cefe6e01f5b5f072d Reviewed-by: Lars Knoll --- .../platform/darwin/mediaplayer/avfmediaplayer.mm | 13 +++++++++++++ .../platform/darwin/mediaplayer/avfmediaplayer_p.h | 2 ++ src/multimedia/platform/darwin/mediaplayer/avfmetadata_p.h | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') 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); -- cgit v1.2.3