From 3d07b6fce19012db39cc6648344f813ff8a2e6d4 Mon Sep 17 00:00:00 2001 From: Bartlomiej Moskal Date: Wed, 16 Nov 2022 14:28:17 +0100 Subject: Android: Fix for QAndroidMediaPlayer isSeekable method isSeekable() method should return correct value. It seem that m_seekable is corretly set in Base class. That is why we shouldn't override isSeekable method in our implementation. Additionally, after commit 0de7ff081f6d75122d2186d399a6f06cd865978e, default m_seekable value was changed to false which is not the correct approach on Android. Value need to be set to true in QAndroidMediaPlayer constructor. It changes if MEDIA_INFO_NOT_SEEKABLE is received. Task-number: QTBUG-103567 Change-Id: I662e12610ea76472bfde408ba8a1dac602b63788 Reviewed-by: Assam Boudjelthia (cherry picked from commit d986272abe0e78aa4fecd2c385f880fd28ec336b) --- .../platform/android/mediaplayer/qandroidmediaplayer.cpp | 7 ++----- .../platform/android/mediaplayer/qandroidmediaplayer_p.h | 2 -- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp index 08b2bd0f0..790002729 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp +++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp @@ -84,6 +84,8 @@ QAndroidMediaPlayer::QAndroidMediaPlayer(QMediaPlayer *parent) mMediaPlayer(new AndroidMediaPlayer), mState(AndroidMediaPlayer::Uninitialized) { + // Set seekable to True by default. It changes if MEDIA_INFO_NOT_SEEKABLE is received + seekableChanged(true); connect(mMediaPlayer, &AndroidMediaPlayer::bufferingChanged, this, &QAndroidMediaPlayer::onBufferingChanged); connect(mMediaPlayer, &AndroidMediaPlayer::info, this, &QAndroidMediaPlayer::onInfo); @@ -461,11 +463,6 @@ void QAndroidMediaPlayer::stop() mMediaPlayer->stop(); } -bool QAndroidMediaPlayer::isSeekable() const -{ - return true; -} - void QAndroidMediaPlayer::onInfo(qint32 what, qint32 extra) { StateChangeNotifier notifier(this); diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h index b874f09aa..c72501ba1 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h +++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h @@ -96,8 +96,6 @@ public: void pause() override; void stop() override; - bool isSeekable() const override; - int trackCount(TrackType trackType) override; QMediaMetaData trackMetaData(TrackType trackType, int streamNumber) override; int activeTrack(TrackType trackType) override; -- cgit v1.2.3