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
This commit is contained in:
Fred Gylys-Colwell
2012-09-13 16:40:34 -07:00
parent d72b67cdeb
commit da4abe2680

View File

@@ -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();