From da4abe26805ce90809b8b7307641645a636b73cf Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Thu, 13 Sep 2012 16:40:34 -0700 Subject: [PATCH] Add InfoListener to Widevine Test Application In order to test the MediaPlayer info events, an OnInfoListener was added to the VideoPlayerView class. It is set to listen to events coming from the videoView. This allows testers to verify that events are occuring. Note: This change was made by Alexander Oliphant who does not have write permission to commit to the Android tree. Change-Id: Ia2faa927b4fe2850e15644bd332e50601a424c4a --- .../com/widevine/demo/VideoPlayerView.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/proprietary/samplePlayer/src/com/widevine/demo/VideoPlayerView.java b/proprietary/samplePlayer/src/com/widevine/demo/VideoPlayerView.java index 3151663b..0b790378 100644 --- a/proprietary/samplePlayer/src/com/widevine/demo/VideoPlayerView.java +++ b/proprietary/samplePlayer/src/com/widevine/demo/VideoPlayerView.java @@ -28,6 +28,7 @@ import android.media.MediaExtractor; import android.media.MediaPlayer; import android.media.MediaPlayer.OnErrorListener; import android.media.MediaPlayer.OnCompletionListener; +import android.media.MediaPlayer.OnInfoListener; import android.util.Log; import java.io.IOException; @@ -160,6 +161,8 @@ public class VideoPlayerView extends Activity { view = videoView; } + + playerFrame.addView(view, new FrameLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT)); @@ -252,16 +255,62 @@ public class VideoPlayerView extends Activity { break; } drm.logBuffer.append(message + "\n"); + updateLogs(); bgImage.setVisibility(View.VISIBLE); return false; } }); + videoView.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { stopPlayback(); } }); + + videoView.setOnInfoListener(new OnInfoListener() { + public boolean onInfo(MediaPlayer mp, int what, int extra) { + + String message = "Unknown info message"; + switch (what) { + case MediaPlayer.MEDIA_INFO_UNKNOWN: + message = "Unknown info message 2"; + break; + case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START: + message = "Video rendering start"; + break; + case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING: + message = "Video track lagging"; + break; + case MediaPlayer.MEDIA_INFO_BUFFERING_START: + message = "Buffering start"; + break; + case MediaPlayer.MEDIA_INFO_BUFFERING_END: + message = "Buffering end"; + break; + /*** TODO: Below needs to be added to MediaPlayer.java. Hard coded for now --Zan + case MediaPlayer.MEDIA_INFO_NETWORK_BANDWIDTH: ***/ + case 703: + message = "Network bandwidth"; + break; + case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING: + message = "Bad interleaving"; + break; + case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE: + message = "Not seekable"; + break; + case MediaPlayer.MEDIA_INFO_METADATA_UPDATE: + message = "Metadata update"; + break; + } + drm.logBuffer.append(message + "\n"); + + updateLogs(); + + return true; + } + }); + videoView.requestFocus(); videoView.start();