From d44d33b01a2125cfa40153e8399dd39908005004 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Thu, 20 Aug 2009 11:12:27 -0700 Subject: [PATCH] The MetaData API is optional and getMetadata may return null if unsupported. --- core/java/android/widget/VideoView.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java index e60ff25703f99..549f98420dc88 100644 --- a/core/java/android/widget/VideoView.java +++ b/core/java/android/widget/VideoView.java @@ -267,12 +267,17 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { // Get the capabilities of the player for this stream Metadata data = mp.getMetadata(MediaPlayer.METADATA_ALL, MediaPlayer.BYPASS_METADATA_FILTER); - mCanPause = !data.has(Metadata.PAUSE_AVAILABLE) - || data.getBoolean(Metadata.PAUSE_AVAILABLE); - mCanSeekBack = !data.has(Metadata.SEEK_BACKWARD_AVAILABLE) - || data.getBoolean(Metadata.SEEK_BACKWARD_AVAILABLE); - mCanSeekForward = !data.has(Metadata.SEEK_FORWARD_AVAILABLE) - || data.getBoolean(Metadata.SEEK_FORWARD_AVAILABLE); + + if (data != null) { + mCanPause = !data.has(Metadata.PAUSE_AVAILABLE) + || data.getBoolean(Metadata.PAUSE_AVAILABLE); + mCanSeekBack = !data.has(Metadata.SEEK_BACKWARD_AVAILABLE) + || data.getBoolean(Metadata.SEEK_BACKWARD_AVAILABLE); + mCanSeekForward = !data.has(Metadata.SEEK_FORWARD_AVAILABLE) + || data.getBoolean(Metadata.SEEK_FORWARD_AVAILABLE); + } else { + mCanPause = mCanSeekForward = mCanSeekForward = true; + } if (mOnPreparedListener != null) { mOnPreparedListener.onPrepared(mMediaPlayer);