From 5f65e43cf103514ddb69abca7cc78dfe99cd329c Mon Sep 17 00:00:00 2001 From: Hugo Hudson Date: Tue, 9 Aug 2011 12:24:57 +0100 Subject: Prove that there's an issue with media player audio. - File format of files downloaded from GoogleVoice: MPEG ADTS, layer III, v2.5, 32 kbps, 8 kHz, Monaural - If we seek in that file before beginning playback, there is a very obvious triple/quadruple stutter. - This adds a unit test that plays such a file after seeking, which clearly demonstratest the stutter on my variable speed library. - This same test can be used to demonstrate the stutter with the regular MediaPlayer. Other: - Also adds the correct ADD_VOICEMAIL permission, which was renamed earlier. Bug: 5114126 Change-Id: I3dfaf7686c879076d9949047d91875010b6d8b52 --- variablespeed/tests/AndroidManifest.xml | 2 +- variablespeed/tests/assets/fake_voicemail.mp3 | Bin 0 -> 20817 bytes variablespeed/tests/assets/fake_voicemail2.mp3 | Bin 0 -> 26336 bytes .../ex/variablespeed/MediaPlayerProxyTestCase.java | 12 ++++++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 variablespeed/tests/assets/fake_voicemail.mp3 create mode 100644 variablespeed/tests/assets/fake_voicemail2.mp3 (limited to 'variablespeed') diff --git a/variablespeed/tests/AndroidManifest.xml b/variablespeed/tests/AndroidManifest.xml index abbe65c..a7d2ed1 100644 --- a/variablespeed/tests/AndroidManifest.xml +++ b/variablespeed/tests/AndroidManifest.xml @@ -29,5 +29,5 @@ android:label="Android Variablespeed Library Tests" /> - + diff --git a/variablespeed/tests/assets/fake_voicemail.mp3 b/variablespeed/tests/assets/fake_voicemail.mp3 new file mode 100644 index 0000000..23fc415 Binary files /dev/null and b/variablespeed/tests/assets/fake_voicemail.mp3 differ diff --git a/variablespeed/tests/assets/fake_voicemail2.mp3 b/variablespeed/tests/assets/fake_voicemail2.mp3 new file mode 100644 index 0000000..854186d Binary files /dev/null and b/variablespeed/tests/assets/fake_voicemail2.mp3 differ diff --git a/variablespeed/tests/src/com/android/ex/variablespeed/MediaPlayerProxyTestCase.java b/variablespeed/tests/src/com/android/ex/variablespeed/MediaPlayerProxyTestCase.java index 59bdfcf..a7c1127 100644 --- a/variablespeed/tests/src/com/android/ex/variablespeed/MediaPlayerProxyTestCase.java +++ b/variablespeed/tests/src/com/android/ex/variablespeed/MediaPlayerProxyTestCase.java @@ -247,6 +247,18 @@ public abstract class MediaPlayerProxyTestCase extends InstrumentationTestCase { mCompletionListener.awaitOneCallback(10, TimeUnit.SECONDS); } + public void testHalfWaySeekWithStutteringAudio() throws Exception { + // The audio contained in this file has a stutter if we seek to half way and play. + // It shouldn't have. + setDataSourceFromContentProvider(mPlayer, "fake_voicemail2.mp3", "audio/mp3"); + mPlayer.prepare(); + assertTrue(mPlayer.getDuration() > 0); + mPlayer.seekTo(mPlayer.getDuration() / 2); + mPlayer.start(); + mPlayer.setOnCompletionListener(mCompletionListener); + mCompletionListener.awaitOneCallback(10, TimeUnit.SECONDS); + } + public void testResetWithoutReleaseAndThenReUse() throws Exception { setDataSourceFromContentProvider(mPlayer, "quick_test_recording.mp3", "audio/mp3"); mPlayer.reset(); -- cgit v1.2.3