diff options
author | Marco Nelissen <marcone@google.com> | 2014-03-20 10:48:30 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-20 10:48:30 -0700 |
commit | c01900ed23cdd34636470ce0f75e8cf4ded0db43 (patch) | |
tree | 47cb96e69f343300246762667e856c73eb503622 | |
parent | 7218de823d6672fcf8b75e1eb366f94f85067be2 (diff) | |
parent | e56b93f459f986ad8ed05a1bc0f9335f2cd2f43f (diff) | |
download | platform_cts-c01900ed23cdd34636470ce0f75e8cf4ded0db43.tar.gz platform_cts-c01900ed23cdd34636470ce0f75e8cf4ded0db43.tar.bz2 platform_cts-c01900ed23cdd34636470ce0f75e8cf4ded0db43.zip |
am e56b93f4: am 9edcad0c: am a3ab5fbe: Merge "Streaming https test" into jb-dev
* commit 'e56b93f459f986ad8ed05a1bc0f9335f2cd2f43f':
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 0398e96179e..fa06ff3a27f 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(); + } + } } |