summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-03-20 11:11:17 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-20 11:11:17 -0700
commitc806f87108f0c8a587edb012e6357749656bd850 (patch)
tree4744703515bae881b6948f01f1143a73baf54ab6
parent7c2acc7d3cc698f94e05291868d20ee72b7e8c1a (diff)
parentee83d47b44e3172bf4d445bf94cd0bfabd479e09 (diff)
downloadplatform_cts-c806f87108f0c8a587edb012e6357749656bd850.tar.gz
platform_cts-c806f87108f0c8a587edb012e6357749656bd850.tar.bz2
platform_cts-c806f87108f0c8a587edb012e6357749656bd850.zip
am ee83d47b: am c01900ed: am e56b93f4: am 9edcad0c: am a3ab5fbe: Merge "Streaming https test" into jb-dev
* commit 'ee83d47b44e3172bf4d445bf94cd0bfabd479e09': Streaming https test
-rw-r--r--tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java b/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java
index 74c709a5ac1..e329c0d5d2c 100644
--- a/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java
+++ b/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java
@@ -16,6 +16,7 @@
package android.media.cts;
import android.media.MediaPlayer;
+import android.util.Log;
import android.webkit.cts.CtsTestServer;
@@ -140,6 +141,9 @@ public class StreamingMediaPlayerTest extends MediaPlayerTestBase {
public void testPlayOggStreamNoLength() throws Throwable {
localHttpAudioStreamTest("noiseandchirps.ogg", false, true);
}
+ public void testPlayMp3Stream1Ssl() throws Throwable {
+ localHttpsAudioStreamTest("ringer.mp3", false, false);
+ }
private void localHttpAudioStreamTest(final String name, boolean redirect, boolean nolength)
throws Throwable {
@@ -195,4 +199,52 @@ public class StreamingMediaPlayerTest extends MediaPlayerTestBase {
mServer.shutdown();
}
}
+
+ private void localHttpsAudioStreamTest(final String name, boolean redirect, boolean nolength)
+ throws Throwable {
+ mServer = new CtsTestServer(mContext, true);
+ try {
+ String stream_url = null;
+ if (redirect) {
+ // Stagefright doesn't have a limit, but we can't test support of infinite redirects
+ // Up to 4 redirects seems reasonable though.
+ stream_url = mServer.getRedirectingAssetUrl(name, 4);
+ } else {
+ stream_url = mServer.getAssetUrl(name);
+ }
+ if (nolength) {
+ stream_url = stream_url + "?" + CtsTestServer.NOLENGTH_POSTFIX;
+ }
+
+ mMediaPlayer.setDataSource(stream_url);
+
+ mMediaPlayer.setDisplay(getActivity().getSurfaceHolder());
+ mMediaPlayer.setScreenOnWhilePlaying(true);
+
+ mOnBufferingUpdateCalled.reset();
+ mMediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
+ @Override
+ public void onBufferingUpdate(MediaPlayer mp, int percent) {
+ mOnBufferingUpdateCalled.signal();
+ }
+ });
+ mMediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
+ @Override
+ public boolean onError(MediaPlayer mp, int what, int extra) {
+ fail("Media player had error " + what + " playing " + name);
+ return true;
+ }
+ });
+
+ assertFalse(mOnBufferingUpdateCalled.isSignalled());
+ try {
+ mMediaPlayer.prepare();
+ } catch (Exception ex) {
+ return;
+ }
+ fail("https playback should have failed");
+ } finally {
+ mServer.shutdown();
+ }
+ }
}