diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2009-05-20 11:28:04 -0700 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2009-05-20 11:28:04 -0700 |
commit | 843ef36f7b96cc19ea7d2996b7c8661b41ec3452 (patch) | |
tree | 560e1648c99a93986f8b7deef851ef8bb8029db7 /media/tests | |
parent | 358d23017d0d6c4636eb7599ae7a9b48108899a3 (diff) | |
download | frameworks_base-843ef36f7b96cc19ea7d2996b7c8661b41ec3452.zip frameworks_base-843ef36f7b96cc19ea7d2996b7c8661b41ec3452.tar.gz frameworks_base-843ef36f7b96cc19ea7d2996b7c8661b41ec3452.tar.bz2 |
donut snapshot
Diffstat (limited to 'media/tests')
6 files changed, 163 insertions, 51 deletions
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java index 07b43bb..760b6b5 100755 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java @@ -380,35 +380,35 @@ public class MediaNames { public static final String META_DATA_MP3 [][] = { {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1_ID3V2.mp3", "1/10", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", - "ID3V2.3 Title", "1234", "321", "1"}, + "ID3V2.3 Title", "1234", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V2.mp3", "1/10", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", - "ID3V2.3 Title", "1234", "313", "1"}, - {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1.mp3", null, "test ID3V1 Album", "test ID3V1 Artist", - null, null, null, null, "test ID3V1 Title", "1234", "231332", "1"}, + "ID3V2.3 Title", "1234", "287", "1"}, + {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1.mp3", "1", "test ID3V1 Album", "test ID3V1 Artist", + null, null, null, "255", "test ID3V1 Title", "1234", "231332", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V1.mp3" , null, null, null, null, null, null, null, null, null, "231330", "1"}, //The corrupted TALB field in id3v2 would not switch to id3v1 tag automatically {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TALB.mp3", "01", null, "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, - "Blues", "ID3V2.3 Title", "1234", "321", "1"}, + "Blues", "ID3V2.3 Title", "1234", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TCOM.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", null, null, - "Blues", "ID3V2.3 Title", "1234", "321", "1"}, + "Blues", "ID3V2.3 Title", "1234", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TCOM_2.mp3", "01", "ID3V2.3 Album", - "ID3V2.3 Artist", null, null, null, "Blues", "ID3V2.3 Title", "1234", "321", "1"}, + "ID3V2.3 Artist", null, null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TRCK.mp3", "dd", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, - "Blues", "ID3V2.3 Title", "1234", "321", "1"}, + "Blues", "ID3V2.3 Title", "1234", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TRCK_2.mp3", "01", "ID3V2.3 Album", - "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", null, "321", "1"}, + "ID3V2.3 Artist", null, null, null, "255", "ID3V2.3 Title", "1234", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TYER.mp3", "01", "ID3V2.3 Album", - "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", "9999", "321", "1"}, + "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", "9999", "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TYER_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, - "Blues", "ID3V2.3 Title", null, "321", "1"}, + "Blues", "ID3V2.3 Title", null, "295", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TIT.mp3", null, null, null, - null, null, null, null, null, null, "577", "1"} + null, null, null, null, null, null, "295", "1"} }; public static final String META_DATA_OTHERS [][] = { @@ -432,7 +432,7 @@ public class MediaNames { null, null, "2005", "231180", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP4/kung_fu_panda_h264.mp4", null, "mp4 album Kung Fu Panda", "mp4 artist Kung Fu Panda", null, null, "20080517T091451.000Z", - "Kung Fu Panda", "Kung Fu Panda", "2008", "5667840", "2"}, + "41", "Kung Fu Panda", "2008", "5667840", "2"}, {"/sdcard/media_api/metaDataTestMedias/OGG/Ring_Classic_02.ogg", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, @@ -464,6 +464,7 @@ public class MediaNames { public static final String RECORDED_SQVGA_H263 = "/sdcard/SQVGA_H263.3gp"; public static final String RECORDED_CIF_H263 = "/sdcard/CIF_H263.3gp"; public static final String RECORDED_QCIF_H263 = "/sdcard/QCIF_H263.3gp"; + public static final String RECORDED_PORTRAIT_H263 = "/sdcard/QCIF_mp4.3gp"; public static final String RECORDED_HVGA_MP4 = "/sdcard/HVGA_mp4.mp4"; public static final String RECORDED_QVGA_MP4 = "/sdcard/QVGA_mp4.mp4"; diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java index caba47c..d9e17ea 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java @@ -43,11 +43,13 @@ public class CodecTest { private static MediaPlayer mMediaPlayer; private MediaPlayer.OnPreparedListener mOnPreparedListener; - private static int WAIT_FOR_COMMAND_TO_COMPLETE = 10000; //10 seconds max. + private static int WAIT_FOR_COMMAND_TO_COMPLETE = 60000; //1 min max. private static boolean mInitialized = false; + private static boolean mPrepareReset = false; private static Looper mLooper = null; private static final Object lock = new Object(); private static final Object prepareDone = new Object(); + private static final Object videoSizeChanged = new Object(); private static boolean onPrepareSuccess = false; @@ -227,28 +229,84 @@ public class CodecTest { mp.pause(); mp.release(); } + + static MediaPlayer.OnVideoSizeChangedListener mOnVideoSizeChangedListener = + new MediaPlayer.OnVideoSizeChangedListener() { + public void onVideoSizeChanged(MediaPlayer mp, int width, int height) { + synchronized (videoSizeChanged) { + Log.v(TAG, "sizechanged notification received ..."); + videoSizeChanged.notify(); + } + } + }; + //Register the videoSizeChanged listener public static int videoHeight(String filePath) throws Exception { Log.v(TAG, "videoHeight - " + filePath); - int videoHeight = 0; - MediaPlayer mp = new MediaPlayer(); - mp.setDataSource(filePath); - mp.setDisplay(MediaFrameworkTest.mSurfaceView.getHolder()); - mp.prepare(); - videoHeight = mp.getVideoHeight(); - mp.release(); + int videoHeight = 0; + synchronized (lock) { + initializeMessageLooper(); + try { + lock.wait(WAIT_FOR_COMMAND_TO_COMPLETE); + } catch(Exception e) { + Log.v(TAG, "looper was interrupted."); + return 0; + } + } + try { + mMediaPlayer.setDataSource(filePath); + mMediaPlayer.setDisplay(MediaFrameworkTest.mSurfaceView.getHolder()); + mMediaPlayer.setOnVideoSizeChangedListener(mOnVideoSizeChangedListener); + synchronized (videoSizeChanged) { + try { + mMediaPlayer.prepare(); + mMediaPlayer.start(); + videoSizeChanged.wait(WAIT_FOR_COMMAND_TO_COMPLETE); + } catch (Exception e) { + Log.v(TAG, "wait was interrupted"); + } + } + videoHeight = mMediaPlayer.getVideoHeight(); + terminateMessageLooper(); + } catch (Exception e) { + Log.e(TAG, e.getMessage()); + } + return videoHeight; } + //Register the videoSizeChanged listener public static int videoWidth(String filePath) throws Exception { Log.v(TAG, "videoWidth - " + filePath); int videoWidth = 0; - MediaPlayer mp = new MediaPlayer(); - mp.setDataSource(filePath); - mp.setDisplay(MediaFrameworkTest.mSurfaceView.getHolder()); - mp.prepare(); - videoWidth = mp.getVideoWidth(); - mp.release(); + + synchronized (lock) { + initializeMessageLooper(); + try { + lock.wait(WAIT_FOR_COMMAND_TO_COMPLETE); + } catch(Exception e) { + Log.v(TAG, "looper was interrupted."); + return 0; + } + } + try { + mMediaPlayer.setDataSource(filePath); + mMediaPlayer.setDisplay(MediaFrameworkTest.mSurfaceView.getHolder()); + mMediaPlayer.setOnVideoSizeChangedListener(mOnVideoSizeChangedListener); + synchronized (videoSizeChanged) { + try { + mMediaPlayer.prepare(); + mMediaPlayer.start(); + videoSizeChanged.wait(WAIT_FOR_COMMAND_TO_COMPLETE); + } catch (Exception e) { + Log.v(TAG, "wait was interrupted"); + } + } + videoWidth = mMediaPlayer.getVideoWidth(); + terminateMessageLooper(); + } catch (Exception e) { + Log.e(TAG, e.getMessage()); + } return videoWidth; } @@ -622,6 +680,10 @@ public class CodecTest { static MediaPlayer.OnPreparedListener mPreparedListener = new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) { synchronized (prepareDone) { + if(mPrepareReset){ + Log.v(TAG, "call Reset"); + mMediaPlayer.reset(); + } Log.v(TAG, "notify the prepare callback"); prepareDone.notify(); onPrepareSuccess = true; @@ -629,13 +691,15 @@ public class CodecTest { } }; - public static boolean prepareAsyncCallback(String filePath) throws Exception { - int videoWidth = 0; - int videoHeight = 0; - boolean checkVideoDimension = false; + public static boolean prepareAsyncCallback(String filePath, boolean reset) throws Exception { + //Added the PrepareReset flag which allow us to switch to different + //test case. + if (reset){ + mPrepareReset = true; + } - initializeMessageLooper(); synchronized (lock) { + initializeMessageLooper(); try { lock.wait(WAIT_FOR_COMMAND_TO_COMPLETE); } catch(Exception e) { @@ -651,14 +715,10 @@ public class CodecTest { synchronized (prepareDone) { try { prepareDone.wait(WAIT_FOR_COMMAND_TO_COMPLETE); - Log.v(TAG, "setPreview done"); } catch (Exception e) { Log.v(TAG, "wait was interrupted."); } - } - videoWidth = mMediaPlayer.getVideoWidth(); - videoHeight = mMediaPlayer.getVideoHeight(); - + } terminateMessageLooper(); }catch (Exception e){ Log.v(TAG,e.getMessage()); @@ -666,7 +726,7 @@ public class CodecTest { return onPrepareSuccess; } - + } diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaMetadataTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaMetadataTest.java index 364e1af..3715913 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaMetadataTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaMetadataTest.java @@ -170,21 +170,25 @@ public class MediaMetadataTest extends AndroidTestCase { validateMetatData(non_mp3_test_file.WAV.ordinal(), MediaNames.META_DATA_OTHERS); } + @Suppress @MediumTest public static void testWma9_Metadata() throws Exception { validateMetatData(non_mp3_test_file.WMA9.ordinal(), MediaNames.META_DATA_OTHERS); } + @Suppress @MediumTest public static void testWma10_Metadata() throws Exception { validateMetatData(non_mp3_test_file.WMA10.ordinal(), MediaNames.META_DATA_OTHERS); } + @Suppress @MediumTest public static void testWmv9_Metadata() throws Exception { validateMetatData(non_mp3_test_file.WMV9.ordinal(), MediaNames.META_DATA_OTHERS); } + @Suppress @MediumTest public static void testWmv10_Metadata() throws Exception { validateMetatData(non_mp3_test_file.WMV7.ordinal(), MediaNames.META_DATA_OTHERS); diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaPlayerApiTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaPlayerApiTest.java index ee6a727..8be7058 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaPlayerApiTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaPlayerApiTest.java @@ -78,6 +78,7 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra assertTrue("MIDI getDuration", duratoinWithinTolerence); } + @Suppress @MediumTest public void testWMA9GetDuration() throws Exception { int duration = CodecTest.getDuration(MediaNames.WMA9); @@ -118,7 +119,8 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra boolean currentPosition = CodecTest.getCurrentPosition(MediaNames.MIDI); assertTrue("MIDI GetCurrentPosition", currentPosition); } - + + @Suppress @LargeTest public void testWMA9GetCurrentPosition() throws Exception { boolean currentPosition = CodecTest.getCurrentPosition(MediaNames.WMA9); @@ -156,6 +158,7 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra assertTrue("MIDI Pause", isPaused); } + @Suppress @LargeTest public void testWMA9Pause() throws Exception { boolean isPaused = CodecTest.pause(MediaNames.WMA9); @@ -227,6 +230,7 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra assertTrue("MIDI setLooping", isLoop); } + @Suppress @LargeTest public void testWMA9SetLooping() throws Exception { boolean isLoop = CodecTest.setLooping(MediaNames.WMA9); @@ -265,6 +269,7 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra assertTrue("MIDI seekTo", isLoop); } + @Suppress @LargeTest public void testWMA9SeekTo() throws Exception { boolean isLoop = CodecTest.seekTo(MediaNames.WMA9); @@ -304,6 +309,7 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra assertTrue("MIDI seekToEnd", isEnd); } + @Suppress @LargeTest public void testWMA9SeekToEnd() throws Exception { boolean isEnd = CodecTest.seekToEnd(MediaNames.WMA9); @@ -379,7 +385,8 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra boolean isSeek = CodecTest.videoSeekTo(MediaNames.VIDEO_H264_AMR); assertTrue("H264AMR SeekTo", isSeek); } - + + @Suppress @LargeTest public void testVideoWMVSeekTo() throws Exception { boolean isSeek = CodecTest.videoSeekTo(MediaNames.VIDEO_WMV); @@ -432,15 +439,21 @@ public class MediaPlayerApiTest extends ActivityInstrumentationTestCase<MediaFra @LargeTest public void testLocalMp3PrepareAsyncCallback() throws Exception { boolean onPrepareSuccess = - CodecTest.prepareAsyncCallback(MediaNames.VIDEO_H263_AMR); + CodecTest.prepareAsyncCallback(MediaNames.VIDEO_H263_AMR, false); assertTrue("LocalMp3prepareAsyncCallback", onPrepareSuccess); } @LargeTest public void testStreamPrepareAsyncCallback() throws Exception { boolean onPrepareSuccess = - CodecTest.prepareAsyncCallback(MediaNames.STREAM_H264_480_360_1411k); + CodecTest.prepareAsyncCallback(MediaNames.STREAM_H264_480_360_1411k, false); + assertTrue("StreamH264PrepareAsyncCallback", onPrepareSuccess); + } + + @LargeTest + public void testStreamPrepareAsyncCallbackReset() throws Exception { + boolean onPrepareSuccess = + CodecTest.prepareAsyncCallback(MediaNames.STREAM_H264_480_360_1411k, true); assertTrue("StreamH264PrepareAsyncCallback", onPrepareSuccess); } } - diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java index 65451c5..ef0a3b1 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java @@ -22,6 +22,7 @@ import com.android.mediaframeworktest.MediaNames; import java.io.*; import android.content.Context; +import android.hardware.Camera; import android.media.MediaPlayer; import android.media.MediaRecorder; import android.test.ActivityInstrumentationTestCase; @@ -46,6 +47,7 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram private SurfaceHolder mSurfaceHolder = null; private MediaRecorder mRecorder; Context mContext; + Camera mCamera; public MediaRecorderTest() { super("com.android.mediaframeworktest", MediaFrameworkTest.class); @@ -146,8 +148,8 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram Log.v(TAG, "before getduration"); mOutputDuration = mediaPlayer.getDuration(); Log.v(TAG, "get video dimension"); - mOutputVideoHeight = mediaPlayer.getVideoHeight(); - mOutputVideoWidth = mediaPlayer.getVideoWidth(); + mOutputVideoHeight = CodecTest.videoHeight(outputFilePath); + mOutputVideoWidth = CodecTest.videoWidth(outputFilePath); mediaPlayer.release(); } catch (Exception e) { Log.v(TAG, e.toString()); @@ -234,12 +236,32 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram assertTrue("QCIFH263 Video Only", videoRecordedResult); } - @Suppress - public void testPortraitH263() throws Exception { + @LargeTest + /* + * This test case set the camera in portrait mode. + * Verification: validate the video dimension and the duration. + */ + public void testPortraitH263() throws Exception { boolean videoRecordedResult = false; - recordVideo(15, 144, 176, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, true); - videoRecordedResult = validateVideo(MediaNames.RECORDED_VIDEO_3GP, 144, 176); + try { + mCamera = Camera.open(); + Camera.Parameters parameters = mCamera.getParameters(); + parameters.setPreviewSize(352, 288); + parameters.set("orientation", "portrait"); + mCamera.setParameters(parameters); + mCamera.unlock(); + mRecorder.setCamera(mCamera); + Thread.sleep(1000); + recordVideo(15, 352, 288, MediaRecorder.VideoEncoder.H263, + MediaRecorder.OutputFormat.THREE_GPP, + MediaNames.RECORDED_PORTRAIT_H263, true); + videoRecordedResult = + validateVideo(MediaNames.RECORDED_PORTRAIT_H263, 352, 288); + mCamera.lock(); + mCamera.release(); + } catch (Exception e) { + Log.v(TAG, e.toString()); + } assertTrue("PortraitH263", videoRecordedResult); } diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/TonesAutoTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/TonesAutoTest.java index da18e74..c75b96b 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/TonesAutoTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/TonesAutoTest.java @@ -74,7 +74,19 @@ import android.media.AudioManager; break; } } - + + for (type = ToneGenerator.TONE_SUP_INTERCEPT; + type <= ToneGenerator.TONE_SUP_PIP; type++) { + if (toneGen.startTone(type)) { + Thread.sleep(5000); + toneGen.stopTone(); + Thread.sleep(200); + } else { + result = false; + break; + } + } + toneGen.release(); return result; } |