diff options
author | Marco Nelissen <marcone@google.com> | 2014-03-20 10:04:41 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-20 10:04:41 -0700 |
commit | 9edcad0c88d4c3005eb4a08245160cf8a902ce8b (patch) | |
tree | 1d1038a71af571a54fff5f3f75de989278a9b162 | |
parent | 002f209fe6a23d03c45df48b235a476f844cbdab (diff) | |
parent | a3ab5fbee84141ad19694c528ece4dc2d2838f50 (diff) | |
download | cts-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.java | 52 |
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(); + } + } } |