summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Muramatsu <btmura@android.com>2011-06-06 14:59:17 -0700
committerBrian Muramatsu <btmura@android.com>2011-06-06 14:59:17 -0700
commit02551c5c4bb55be5eea6b33aed5bee5a72d21f4b (patch)
treefd167e57b9d352d88a3ad6b6d6b61c3f3a99bcef
parent5998c47c526101c5fadc3b2309e16ca02a1f41be (diff)
parent01552d10c2cb9c42c04f80db4cf4fe334d1af51e (diff)
downloadplatform_cts-02551c5c4bb55be5eea6b33aed5bee5a72d21f4b.tar.gz
platform_cts-02551c5c4bb55be5eea6b33aed5bee5a72d21f4b.tar.bz2
platform_cts-02551c5c4bb55be5eea6b33aed5bee5a72d21f4b.zip
Merge remote branch 'korg/froyo' into manualmerge
Conflicts: tools/host/src/com/android/cts/Version.java Change-Id: I742c222786c9b883c152cbb0cac1008451188106
-rw-r--r--tests/assets/noiseandchirps.mp3bin0 -> 66036 bytes
-rw-r--r--tests/assets/noiseandchirps.oggbin0 -> 65903 bytes
-rw-r--r--tests/src/android/webkit/cts/CtsTestServer.java6
-rw-r--r--tests/tests/media/src/android/media/cts/MediaPlayerTest.java59
4 files changed, 58 insertions, 7 deletions
diff --git a/tests/assets/noiseandchirps.mp3 b/tests/assets/noiseandchirps.mp3
new file mode 100644
index 00000000000..a819efcd86e
--- /dev/null
+++ b/tests/assets/noiseandchirps.mp3
Binary files differ
diff --git a/tests/assets/noiseandchirps.ogg b/tests/assets/noiseandchirps.ogg
new file mode 100644
index 00000000000..1acb643decf
--- /dev/null
+++ b/tests/assets/noiseandchirps.ogg
Binary files differ
diff --git a/tests/src/android/webkit/cts/CtsTestServer.java b/tests/src/android/webkit/cts/CtsTestServer.java
index af6d115d2ca..2a72d9fca89 100644
--- a/tests/src/android/webkit/cts/CtsTestServer.java
+++ b/tests/src/android/webkit/cts/CtsTestServer.java
@@ -100,6 +100,7 @@ public class CtsTestServer {
public static final String COOKIE_PREFIX = "/cookie";
public static final String AUTH_PREFIX = "/auth";
public static final String SHUTDOWN_PREFIX = "/shutdown";
+ public static final String NOLENGTH_POSTFIX = "nolength";
public static final int DELAY_MILLIS = 2000;
public static final String AUTH_REALM = "Android CTS";
@@ -416,6 +417,7 @@ public class CtsTestServer {
mLastQuery = uriString;
URI uri = URI.create(uriString);
String path = uri.getPath();
+ String query = uri.getQuery();
if (path.equals(FAVICON_PATH)) {
path = FAVICON_ASSET_PATH;
}
@@ -484,7 +486,9 @@ public class CtsTestServer {
}
entity.setContentType(mimeType);
response.setEntity(entity);
- response.setHeader("Content-Length", "" + entity.getContentLength());
+ if (query == null || !query.contains(NOLENGTH_POSTFIX)) {
+ response.setHeader("Content-Length", "" + entity.getContentLength());
+ }
} catch (IOException e) {
response = null;
// fall through, return 404 at the end
diff --git a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
index a4a17c09dcb..d18d684c9ef 100644
--- a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
@@ -51,6 +51,7 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA
private static String TAG = "CtsMediaPlayerTest";
private static final int SLEEP_TIME = 1000;
+ private static final int LONG_SLEEP_TIME = 6000;
private final String mSourceMediaOnSdcard;
private Monitor mOnVideoSizeChangedCalled = new Monitor();
private Monitor mOnBufferingUpdateCalled = new Monitor();
@@ -89,6 +90,10 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA
private static class Monitor {
private boolean signalled;
+ public synchronized void reset() {
+ signalled = false;
+ }
+
public synchronized void signal() {
signalled = true;
notifyAll();
@@ -419,15 +424,49 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA
args = {}
)
})
- public void testPlayStream() throws Throwable {
+
+ public void testPlayMp3Stream1() throws Throwable {
+ streamTest("ringer.mp3", false, false);
+ }
+ public void testPlayMp3Stream2() throws Throwable {
+ streamTest("ringer.mp3", false, false);
+ }
+ public void testPlayMp3StreamRedirect() throws Throwable {
+ streamTest("ringer.mp3", true, false);
+ }
+ public void testPlayMp3StreamNoLength() throws Throwable {
+ streamTest("noiseandchirps.mp3", false, true);
+ }
+ public void testPlayOggStream() throws Throwable {
+ streamTest("noiseandchirps.ogg", false, false);
+ }
+ public void testPlayOggStreamRedirect() throws Throwable {
+ streamTest("noiseandchirps.ogg", true, false);
+ }
+ public void testPlayOggStreamNoLength() throws Throwable {
+ streamTest("noiseandchirps.ogg", false, true);
+ }
+
+ private void streamTest(String name, boolean redirect, boolean nolength) throws Throwable {
mServer = new CtsTestServer(mContext);
- final String stream_mp3 = mServer.getAssetUrl("ringer.mp3");
+ 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_mp3);
+ mMediaPlayer.setDataSource(stream_url);
mMediaPlayer.setDisplay(getActivity().getSurfaceHolder());
mMediaPlayer.setScreenOnWhilePlaying(true);
+ mOnBufferingUpdateCalled.reset();
mMediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
public void onBufferingUpdate(MediaPlayer mp, int percent) {
mOnBufferingUpdateCalled.signal();
@@ -436,11 +475,18 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA
assertFalse(mOnBufferingUpdateCalled.signalled);
mMediaPlayer.prepare();
- mOnBufferingUpdateCalled.waitForSignal();
- mMediaPlayer.start();
- Thread.sleep(SLEEP_TIME);
+ if (nolength) {
+ mMediaPlayer.start();
+ Thread.sleep(LONG_SLEEP_TIME);
+ assertFalse(mMediaPlayer.isPlaying());
+ } else {
+ mOnBufferingUpdateCalled.waitForSignal();
+ mMediaPlayer.start();
+ Thread.sleep(SLEEP_TIME);
+ }
mMediaPlayer.stop();
+ mMediaPlayer.reset();
}
@TestTargets({
@@ -537,6 +583,7 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA
}
});
+ mOnCompletionCalled.reset();
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mOnCompletionCalled.signal();