summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-03-20 10:04:41 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-20 10:04:41 -0700
commit9edcad0c88d4c3005eb4a08245160cf8a902ce8b (patch)
tree1d1038a71af571a54fff5f3f75de989278a9b162
parent002f209fe6a23d03c45df48b235a476f844cbdab (diff)
parenta3ab5fbee84141ad19694c528ece4dc2d2838f50 (diff)
downloadcts-9edcad0c88d4c3005eb4a08245160cf8a902ce8b.tar.gz
am a3ab5fbe: Merge "Streaming https test" into jb-dev
* commit 'a3ab5fbee84141ad19694c528ece4dc2d2838f50': 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 790cb8bd06a..d863bc99ca4 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;
@@ -138,6 +139,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 {
@@ -193,4 +197,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();
+ }
+ }
}