From fb9a5bfd0b8ea7551ac7eb01a5ed6ffcb1c86abb Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Wed, 15 Sep 2021 19:45:50 +0300 Subject: Implement playback progress watcher Android's MediaPlayer doesn't seem to provide a listener for continuously reporting the current playback position, thus such a mechanism need to be implemented by us, otherwise progress is not being reported back to QMediaPlayer. This also overrides QPlatformMediaPlayer::isSeekable(). Fixes: QTBUG-96079 Pick-to: 6.2 6.2.0 Change-Id: I47ae0e2b9fe18b650fbbd0fb0266dc8a50dc3c55 Reviewed-by: Lars Knoll Reviewed-by: Samuel Mira --- src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp | 5 +++++ src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h | 2 ++ 2 files changed, 7 insertions(+) (limited to 'src/multimedia') diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp index 373aa41ee..49ed8fbec 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp +++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer.cpp @@ -434,6 +434,11 @@ 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 f48f682d8..b8e187a08 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h +++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayer_p.h @@ -96,6 +96,8 @@ 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