[Android] Prevent NPE in switchToVideo()

Geoffrey Métais git at videolan.org
Wed Jun 22 18:07:05 CEST 2016


vlc-android | branch: master | Geoffrey Métais <geoffrey.metais at gmail.com> | Wed Jun 22 18:03:41 2016 +0200| [d6c964c1db3dd6023e44ca242b50072e6b37e5ba] | committer: Geoffrey Métais

Prevent NPE in switchToVideo()

> https://code.videolan.org/videolan/vlc-android/commit/d6c964c1db3dd6023e44ca242b50072e6b37e5ba
---

 vlc-android/src/org/videolan/vlc/PlaybackService.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/vlc-android/src/org/videolan/vlc/PlaybackService.java b/vlc-android/src/org/videolan/vlc/PlaybackService.java
index 997df1d..f22fbd8 100644
--- a/vlc-android/src/org/videolan/vlc/PlaybackService.java
+++ b/vlc-android/src/org/videolan/vlc/PlaybackService.java
@@ -750,17 +750,18 @@ public class PlaybackService extends Service implements IVLCVout.Callback {
 
     @MainThread
     public boolean switchToVideo() {
-        if (mMediaList.getMedia(mCurrentIndex).hasFlag(MediaWrapper.MEDIA_FORCE_AUDIO) || !canSwitchToVideo())
+        MediaWrapper media = mMediaList.getMedia(mCurrentIndex);
+        if (media == null || media.hasFlag(MediaWrapper.MEDIA_FORCE_AUDIO) || !canSwitchToVideo())
             return false;
         mVideoBackground = false;
         if (isVideoPlaying()) {//Player is already running, just send it an intent
             setVideoTrackEnabled(true);
             LocalBroadcastManager.getInstance(this).sendBroadcast(
                     VideoPlayerActivity.getIntent(VideoPlayerActivity.PLAY_FROM_SERVICE,
-                            getCurrentMediaWrapper(), false, mCurrentIndex));
+                            media, false, mCurrentIndex));
         } else if (!mSwitchingToVideo) {//Start the video player
             VideoPlayerActivity.startOpened(VLCApplication.getAppContext(),
-                    getCurrentMediaWrapper().getUri(), mCurrentIndex);
+                    media.getUri(), mCurrentIndex);
             mSwitchingToVideo = true;
         }
         return true;



More information about the Android mailing list