diff options
author | Marco Nelissen <marcone@google.com> | 2014-03-20 13:13:17 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-20 13:13:17 -0700 |
commit | 11b22b130c25b77e0cce02ad92d62c10f153eef6 (patch) | |
tree | c74b9067c63746b41f0392722ea50b44435ec7a5 | |
parent | 5551c39da0a7fa6991a95ad7f333c625622c31f9 (diff) | |
parent | c806f87108f0c8a587edb012e6357749656bd850 (diff) | |
download | platform_cts-11b22b130c25b77e0cce02ad92d62c10f153eef6.tar.gz platform_cts-11b22b130c25b77e0cce02ad92d62c10f153eef6.tar.bz2 platform_cts-11b22b130c25b77e0cce02ad92d62c10f153eef6.zip |
am c806f871: am ee83d47b: am c01900ed: am e56b93f4: am 9edcad0c: am a3ab5fbe: Merge "Streaming https test" into jb-dev
* commit 'c806f87108f0c8a587edb012e6357749656bd850':
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 5dd2c4f34d7..08644c704ea 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(); + } + } } |