summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp1
-rw-r--r--src/plugins/android/wrappers/jmediaplayer.cpp5
-rw-r--r--src/plugins/android/wrappers/jmediaplayer.h2
3 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp b/src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp
index 5a9c8b84f..cb34fba32 100644
--- a/src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp
+++ b/src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp
@@ -74,6 +74,7 @@ QAndroidMediaPlayerControl::QAndroidMediaPlayerControl(QObject *parent)
QAndroidMediaPlayerControl::~QAndroidMediaPlayerControl()
{
+ mMediaPlayer->release();
delete mMediaPlayer;
}
diff --git a/src/plugins/android/wrappers/jmediaplayer.cpp b/src/plugins/android/wrappers/jmediaplayer.cpp
index 48e743b26..f6e03ee22 100644
--- a/src/plugins/android/wrappers/jmediaplayer.cpp
+++ b/src/plugins/android/wrappers/jmediaplayer.cpp
@@ -82,6 +82,11 @@ JMediaPlayer::~JMediaPlayer()
mplayers.remove(mId);
}
+void JMediaPlayer::release()
+{
+ callMethod<void>("release");
+}
+
void JMediaPlayer::onError(qint32 what, qint32 extra)
{
Q_EMIT error(what, extra);
diff --git a/src/plugins/android/wrappers/jmediaplayer.h b/src/plugins/android/wrappers/jmediaplayer.h
index f5cb11773..710246b9a 100644
--- a/src/plugins/android/wrappers/jmediaplayer.h
+++ b/src/plugins/android/wrappers/jmediaplayer.h
@@ -89,6 +89,8 @@ public:
MEDIA_PLAYER_FINISHED = 6
};
+ void release();
+
int getCurrentPosition();
int getDuration();
bool isPlaying();