diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2013-05-23 15:15:44 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-09 09:41:17 +0200 |
commit | 1dfbe44d90fb0a13f67642ca61a64c91f8322e9f (patch) | |
tree | 89f5f9fafb5adabc7ef4604485a26b7eff357973 | |
parent | 1eb77d37821a42742a9b2984c89e3aed8296a5fc (diff) |
Android: release the Android media player before destroying it.
Change-Id: I18715efd7ff346a9f6f2214727ec66ee79ad0d33
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
-rw-r--r-- | src/plugins/android/mediaplayer/qandroidmediaplayercontrol.cpp | 1 | ||||
-rw-r--r-- | src/plugins/android/wrappers/jmediaplayer.cpp | 5 | ||||
-rw-r--r-- | src/plugins/android/wrappers/jmediaplayer.h | 2 |
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(); |