Android: release the Android media player before destroying it.
authorYoann Lopes <yoann.lopes@digia.com>
Thu, 23 May 2013 13:15:44 +0000 (15:15 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 9 Jul 2013 07:41:17 +0000 (09:41 +0200)
Change-Id: I18715efd7ff346a9f6f2214727ec66ee79ad0d33
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp
src/plugins/android/wrappers/jmediaplayer.cpp
src/plugins/android/wrappers/jmediaplayer.h

index 5a9c8b8..cb34fba 100644 (file)
@@ -74,6 +74,7 @@ QAndroidMediaPlayerControl::QAndroidMediaPlayerControl(QObject *parent)
 
 QAndroidMediaPlayerControl::~QAndroidMediaPlayerControl()
 {
+    mMediaPlayer->release();
     delete mMediaPlayer;
 }
 
index 48e743b..f6e03ee 100644 (file)
@@ -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);
index f5cb117..710246b 100644 (file)
@@ -89,6 +89,8 @@ public:
         MEDIA_PLAYER_FINISHED = 6
     };
 
+    void release();
+
     int getCurrentPosition();
     int getDuration();
     bool isPlaying();