diff options
Diffstat (limited to 'media')
13 files changed, 148 insertions, 270 deletions
diff --git a/media/java/android/media/videoeditor/MediaArtistNativeHelper.java b/media/java/android/media/videoeditor/MediaArtistNativeHelper.java index e0df257..53bbb0f 100644 --- a/media/java/android/media/videoeditor/MediaArtistNativeHelper.java +++ b/media/java/android/media/videoeditor/MediaArtistNativeHelper.java @@ -3556,7 +3556,7 @@ class MediaArtistNativeHelper { case MediaProperties.ASPECT_RATIO_4_3: if (height == MediaProperties.HEIGHT_480) retValue = VideoFrameSize.VGA; - if (height == MediaProperties.HEIGHT_720) + else if (height == MediaProperties.HEIGHT_720) retValue = VideoFrameSize.S720p; break; case MediaProperties.ASPECT_RATIO_5_3: @@ -3566,6 +3566,8 @@ class MediaArtistNativeHelper { case MediaProperties.ASPECT_RATIO_11_9: if (height == MediaProperties.HEIGHT_144) retValue = VideoFrameSize.QCIF; + else if (height == MediaProperties.HEIGHT_288) + retValue = VideoFrameSize.CIF; break; } if (retValue == VideoFrameSize.SIZE_UNDEFINED) { diff --git a/media/java/android/media/videoeditor/MediaProperties.java b/media/java/android/media/videoeditor/MediaProperties.java index 0b7ec08..0225807 100755 --- a/media/java/android/media/videoeditor/MediaProperties.java +++ b/media/java/android/media/videoeditor/MediaProperties.java @@ -29,6 +29,7 @@ public class MediaProperties { * Supported heights */ public static final int HEIGHT_144 = 144; + public static final int HEIGHT_288 = 288; public static final int HEIGHT_360 = 360; public static final int HEIGHT_480 = 480; public static final int HEIGHT_720 = 720; @@ -82,7 +83,8 @@ public class MediaProperties { @SuppressWarnings({"unchecked"}) private static final Pair<Integer, Integer>[] ASPECT_RATIO_11_9_RESOLUTIONS = new Pair[] { - new Pair<Integer, Integer>(176, HEIGHT_144) + new Pair<Integer, Integer>(176, HEIGHT_144), + new Pair<Integer, Integer>(352, HEIGHT_288) }; @SuppressWarnings({"unchecked"}) diff --git a/media/java/android/media/videoeditor/VideoEditorImpl.java b/media/java/android/media/videoeditor/VideoEditorImpl.java index 1fb8c61..7e1f73a 100755 --- a/media/java/android/media/videoeditor/VideoEditorImpl.java +++ b/media/java/android/media/videoeditor/VideoEditorImpl.java @@ -389,6 +389,8 @@ public class VideoEditorImpl implements VideoEditor { switch (height) { case MediaProperties.HEIGHT_144: break; + case MediaProperties.HEIGHT_288: + break; case MediaProperties.HEIGHT_360: break; case MediaProperties.HEIGHT_480: diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 6ab28ea..e43cdaa 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -466,16 +466,12 @@ status_t ACodec::allocateOutputBuffersFromNativeWindow() { return err; } - // XXX TODO: Do something so the ANativeWindow knows that we'll need to get - // the same set of buffers. - LOGV("[%s] Allocating %lu buffers from a native window of size %lu on " "output port", mComponentName.c_str(), def.nBufferCountActual, def.nBufferSize); // Dequeue buffers and send them to OMX - OMX_U32 i; - for (i = 0; i < def.nBufferCountActual; i++) { + for (OMX_U32 i = 0; i < def.nBufferCountActual; i++) { android_native_buffer_t *buf; err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf); if (err != 0) { @@ -484,23 +480,26 @@ status_t ACodec::allocateOutputBuffersFromNativeWindow() { } sp<GraphicBuffer> graphicBuffer(new GraphicBuffer(buf, false)); + BufferInfo info; + info.mStatus = BufferInfo::OWNED_BY_US; + info.mData = new ABuffer(0); + info.mGraphicBuffer = graphicBuffer; + mBuffers[kPortIndexOutput].push(info); + IOMX::buffer_id bufferId; err = mOMX->useGraphicBuffer(mNode, kPortIndexOutput, graphicBuffer, &bufferId); if (err != 0) { + LOGE("registering GraphicBuffer %lu with OMX IL component failed: " + "%d", i, err); break; } + mBuffers[kPortIndexOutput].editItemAt(i).mBufferID = bufferId; + LOGV("[%s] Registered graphic buffer with ID %p (pointer = %p)", mComponentName.c_str(), bufferId, graphicBuffer.get()); - - BufferInfo info; - info.mBufferID = bufferId; - info.mStatus = BufferInfo::OWNED_BY_US; - info.mData = new ABuffer(0); - info.mGraphicBuffer = graphicBuffer; - mBuffers[kPortIndexOutput].push(info); } OMX_U32 cancelStart; @@ -510,7 +509,7 @@ status_t ACodec::allocateOutputBuffersFromNativeWindow() { // If an error occurred while dequeuing we need to cancel any buffers // that were dequeued. cancelStart = 0; - cancelEnd = i; + cancelEnd = mBuffers[kPortIndexOutput].size(); } else { // Return the last two buffers to the native window. // XXX TODO: The number of buffers the native window owns should diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 26f4d6c..5f40893 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -1776,15 +1776,11 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() { return err; } - // XXX TODO: Do something so the ANativeWindow knows that we'll need to get - // the same set of buffers. - CODEC_LOGI("allocating %lu buffers from a native window of size %lu on " "output port", def.nBufferCountActual, def.nBufferSize); // Dequeue buffers and send them to OMX - OMX_U32 i; - for (i = 0; i < def.nBufferCountActual; i++) { + for (OMX_U32 i = 0; i < def.nBufferCountActual; i++) { android_native_buffer_t* buf; err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf); if (err != 0) { @@ -1793,36 +1789,37 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() { } sp<GraphicBuffer> graphicBuffer(new GraphicBuffer(buf, false)); + BufferInfo info; + info.mData = NULL; + info.mSize = def.nBufferSize; + info.mStatus = OWNED_BY_US; + info.mMem = NULL; + info.mMediaBuffer = new MediaBuffer(graphicBuffer); + info.mMediaBuffer->setObserver(this); + mPortBuffers[kPortIndexOutput].push(info); + IOMX::buffer_id bufferId; err = mOMX->useGraphicBuffer(mNode, kPortIndexOutput, graphicBuffer, &bufferId); if (err != 0) { + CODEC_LOGE("registering GraphicBuffer with OMX IL component " + "failed: %d", err); break; } + mPortBuffers[kPortIndexOutput].editItemAt(i).mBuffer = bufferId; + CODEC_LOGV("registered graphic buffer with ID %p (pointer = %p)", bufferId, graphicBuffer.get()); - - BufferInfo info; - info.mData = NULL; - info.mSize = def.nBufferSize; - info.mBuffer = bufferId; - info.mStatus = OWNED_BY_US; - info.mMem = NULL; - info.mMediaBuffer = new MediaBuffer(graphicBuffer); - info.mMediaBuffer->setObserver(this); - - mPortBuffers[kPortIndexOutput].push(info); } OMX_U32 cancelStart; OMX_U32 cancelEnd; - if (err != 0) { // If an error occurred while dequeuing we need to cancel any buffers // that were dequeued. cancelStart = 0; - cancelEnd = i; + cancelEnd = mPortBuffers[kPortIndexOutput].size(); } else { // Return the last two buffers to the native window. // XXX TODO: The number of buffers the native window owns should probably be diff --git a/media/libstagefright/colorconversion/ColorConverter.cpp b/media/libstagefright/colorconversion/ColorConverter.cpp index d518c97..3b92e5d 100644 --- a/media/libstagefright/colorconversion/ColorConverter.cpp +++ b/media/libstagefright/colorconversion/ColorConverter.cpp @@ -187,7 +187,7 @@ status_t ColorConverter::convertCbYCrY( status_t ColorConverter::convertYUV420Planar( const BitmapParams &src, const BitmapParams &dst) { - if (!((dst.mWidth & 3) == 0 + if (!((dst.mWidth & 1) == 0 && (src.mCropLeft & 1) == 0 && src.cropWidth() == dst.cropWidth() && src.cropHeight() == dst.cropHeight())) { diff --git a/media/tests/CameraBrowser/AndroidManifest.xml b/media/tests/CameraBrowser/AndroidManifest.xml index f167f4b..fccb3ca 100644 --- a/media/tests/CameraBrowser/AndroidManifest.xml +++ b/media/tests/CameraBrowser/AndroidManifest.xml @@ -2,7 +2,6 @@ package="com.android.camerabrowser"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> - <uses-permission android:name="android.permission.ACCESS_USB" /> <application android:label="@string/app_label" android:name="com.android.camerabrowser.CameraBrowserApplication"> @@ -12,20 +11,15 @@ <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> + <intent-filter> + <action android:name="android.hardware.action.USB_DEVICE_ATTACHED" /> + </intent-filter> + <meta-data android:name="android.hardware.action.USB_DEVICE_ATTACHED" + android:resource="@xml/device_filter" /> </activity> <activity android:name="StorageBrowser" /> <activity android:name="ObjectBrowser" /> <activity android:name="ObjectViewer" /> - -<!-- - <receiver android:name="UsbReceiver"> - <intent-filter> - <action android:name="android.hardware.action.USB_DEVICE_ATTACHED" /> - </intent-filter> - </receiver> ---> </application> - - </manifest> diff --git a/media/tests/CameraBrowser/res/xml/device_filter.xml b/media/tests/CameraBrowser/res/xml/device_filter.xml new file mode 100644 index 0000000..36cd13d --- /dev/null +++ b/media/tests/CameraBrowser/res/xml/device_filter.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2011 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <!-- filter for PTP devices --> + <usb-device class="6" subclass="1" protocol="1" /> +</resources> diff --git a/media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java b/media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java deleted file mode 100644 index 22d9443..0000000 --- a/media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.camerabrowser; - -import android.content.Context; -import android.content.Intent; -import android.content.BroadcastReceiver; -import android.hardware.UsbDevice; -import android.hardware.UsbManager; -import android.mtp.MtpClient; -import android.os.Bundle; -import android.os.Parcelable; -import android.util.Log; - -public class UsbReceiver extends BroadcastReceiver -{ - private static final String TAG = "UsbReceiver"; - - @Override - public void onReceive(Context context, Intent intent) { - Log.d(TAG, "onReceive " + intent); - if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(intent.getAction())) { - UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); - if (MtpClient.isCamera(device)) { - String deviceName = device.getDeviceName(); - Log.d(TAG, "Got camera: " + deviceName); - intent = new Intent(context, StorageBrowser.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra("device", deviceName); - context.startActivity(intent); - } - } - } -} diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java index 988b229..a6cf355 100755 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java @@ -21,9 +21,10 @@ import com.android.mediaframeworktest.performance.MediaPlayerPerformance; import com.android.mediaframeworktest.performance.VideoEditorPerformance; import junit.framework.TestSuite; +import android.os.Bundle; import android.test.InstrumentationTestRunner; import android.test.InstrumentationTestSuite; - +import android.util.Log; /** * Instrumentation Test Runner for all MediaPlayer tests. @@ -36,19 +37,30 @@ import android.test.InstrumentationTestSuite; public class MediaFrameworkPerfTestRunner extends InstrumentationTestRunner { + public static boolean mGetNativeHeapDump = false; + + + @Override + public TestSuite getAllTests() { + TestSuite suite = new InstrumentationTestSuite(this); + suite.addTestSuite(MediaPlayerPerformance.class); + /* Video Editor performance Test cases */ + suite.addTestSuite(VideoEditorPerformance.class); + return suite; + } - @Override - public TestSuite getAllTests() { - TestSuite suite = new InstrumentationTestSuite(this); - suite.addTestSuite(MediaPlayerPerformance.class); - /*Video Editor performance Test cases*/ - suite.addTestSuite(VideoEditorPerformance.class); - return suite; - } + @Override + public ClassLoader getLoader() { + return MediaFrameworkTestRunner.class.getClassLoader(); + } - @Override - public ClassLoader getLoader() { - return MediaFrameworkTestRunner.class.getClassLoader(); - } + @Override + public void onCreate(Bundle icicle) { + super.onCreate(icicle); + String get_heap_dump = (String) icicle.get("get_heap_dump"); + if (get_heap_dump != null) { + mGetNativeHeapDump = true; + } + } } diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaTestUtil.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaTestUtil.java new file mode 100755 index 0000000..0183b5d --- /dev/null +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaTestUtil.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.mediaframeworktest; + +import java.io.FileOutputStream; + +import android.os.Debug; +import android.os.Environment; + +/** + * + * Utilities for media framework test. + * + */ +public class MediaTestUtil { + private MediaTestUtil(){ + } + + private static final String STORAGE_PATH = + Environment.getExternalStorageDirectory().toString(); + + //Catpure the heapdump for memory leaksage analysis\ + public static void getNativeHeapDump (String name) throws Exception { + System.gc(); + System.runFinalization(); + Thread.sleep(1000); + FileOutputStream o = new FileOutputStream(STORAGE_PATH + '/' +name + ".dump"); + Debug.dumpNativeHeap(o.getFD()); + o.close(); + } +}
\ No newline at end of file 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 ce6db68..82df669 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java @@ -28,7 +28,7 @@ import android.media.MediaRecorder; import android.media.EncoderCapabilities; import android.media.EncoderCapabilities.VideoEncoderCap; import android.media.EncoderCapabilities.AudioEncoderCap; -import android.test.ActivityInstrumentationTestCase; +import android.test.ActivityInstrumentationTestCase2; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; @@ -42,7 +42,7 @@ import java.util.List; /** * Junit / Instrumentation test case for the media recorder api */ -public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFrameworkTest> { +public class MediaRecorderTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> { private String TAG = "MediaRecorderTest"; private int mOutputDuration =0; private int mOutputVideoWidth = 0; @@ -62,9 +62,9 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram } protected void setUp() throws Exception { - super.setUp(); - Log.v(TAG,"create the media recorder"); + getActivity(); mRecorder = new MediaRecorder(); + super.setUp(); } private void recordVideo(int frameRate, int width, int height, @@ -199,8 +199,6 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram return false; } - - private void getOutputVideoProperty(String outputFilePath) { MediaPlayer mediaPlayer = new MediaPlayer(); try { @@ -215,8 +213,6 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram Thread.sleep(1000); mOutputVideoHeight = mediaPlayer.getVideoHeight(); mOutputVideoWidth = mediaPlayer.getVideoWidth(); - //mOutputVideoHeight = CodecTest.videoHeight(outputFilePath); - //mOutputVideoWidth = CodecTest.videoWidth(outputFilePath); mediaPlayer.release(); } catch (Exception e) { Log.v(TAG, e.toString()); @@ -224,11 +220,6 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram } } - private void removeFile(String filePath) { - File fileRemove = new File(filePath); - fileRemove.delete(); - } - private boolean validateVideo(String filePath, int width, int height) { boolean validVideo = false; getOutputVideoProperty(filePath); @@ -237,72 +228,9 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram validVideo = true; } Log.v(TAG, "width = " + mOutputVideoWidth + " height = " + mOutputVideoHeight + " Duration = " + mOutputDuration); - //removeFile(filePath); return validVideo; } - - - //Format: HVGA h263 - @Suppress - public void testHVGAH263() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 480, 320, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_HVGA_H263, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_HVGA_H263, 480, 320); - assertTrue("HVGAH263", videoRecordedResult); - } - - //Format: QVGA h263 - @Suppress - public void testQVGAH263() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 320, 240, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_QVGA_H263, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_QVGA_H263, 320, 240); - assertTrue("QVGAH263", videoRecordedResult); - } - - //Format: SQVGA h263 - @Suppress - public void testSQVGAH263() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 240, 160, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_SQVGA_H263, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_SQVGA_H263, 240, 160); - assertTrue("SQVGAH263", videoRecordedResult); - } - - //Format: QCIF h263 - @LargeTest - public void testQCIFH263() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 176, 144, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_QCIF_H263, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_QCIF_H263, 176, 144); - assertTrue("QCIFH263", videoRecordedResult); - } - - //Format: CIF h263 - @LargeTest - public void testCIFH263() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 352, 288, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_CIF_H263, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_CIF_H263, 352, 288); - assertTrue("CIFH263", videoRecordedResult); - } - - - - @LargeTest - public void testVideoOnly() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 176, 144, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, true); - videoRecordedResult = validateVideo(MediaNames.RECORDED_VIDEO_3GP, 176, 144); - assertTrue("QCIFH263 Video Only", videoRecordedResult); - } - + @LargeTest /* * This test case set the camera in portrait mode. @@ -332,74 +260,6 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram assertTrue("PortraitH263", videoRecordedResult); } - @Suppress - public void testHVGAMP4() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 480, 320, MediaRecorder.VideoEncoder.MPEG_4_SP, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_HVGA_MP4, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_HVGA_MP4, 480, 320); - assertTrue("HVGAMP4", videoRecordedResult); - } - - @Suppress - public void testQVGAMP4() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 320, 240, MediaRecorder.VideoEncoder.MPEG_4_SP, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_QVGA_MP4, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_QVGA_MP4, 320, 240); - assertTrue("QVGAMP4", videoRecordedResult); - } - - @Suppress - public void testSQVGAMP4() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 240, 160, MediaRecorder.VideoEncoder.MPEG_4_SP, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_SQVGA_MP4, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_SQVGA_MP4, 240, 160); - assertTrue("SQVGAMP4", videoRecordedResult); - } - - //Format: QCIF MP4 - @LargeTest - public void testQCIFMP4() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 176, 144, MediaRecorder.VideoEncoder.MPEG_4_SP, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_QCIF_MP4, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_QCIF_MP4, 176, 144); - assertTrue("QCIFMP4", videoRecordedResult); - } - - - //Format: CIF MP4 - @LargeTest - public void testCIFMP4() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 352, 288, MediaRecorder.VideoEncoder.MPEG_4_SP, - MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_CIF_MP4, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_CIF_MP4, 352, 288); - assertTrue("CIFMP4", videoRecordedResult); - } - - - //Format: CIF MP4 output format 3gpp - @LargeTest - public void testCIFMP43GPP() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 352, 288, MediaRecorder.VideoEncoder.MPEG_4_SP, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_VIDEO_3GP, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_VIDEO_3GP, 352, 288); - assertTrue("CIFMP4 3GPP", videoRecordedResult); - } - - @LargeTest - public void testQCIFH2633GPP() throws Exception { - boolean videoRecordedResult = false; - recordVideo(15, 176, 144, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_VIDEO_3GP, false); - videoRecordedResult = validateVideo(MediaNames.RECORDED_VIDEO_3GP, 176, 144); - assertTrue("QCIFH263 3GPP", videoRecordedResult); - } - @LargeTest public void testInvalidVideoPath() throws Exception { boolean isTestInvalidVideoPathSuccessful = false; @@ -408,23 +268,6 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase<MediaFram assertTrue("Invalid outputFile Path", isTestInvalidVideoPathSuccessful); } - @Suppress - public void testInvalidVideoSize() throws Exception { - boolean isTestInvalidVideoSizeSuccessful = false; - isTestInvalidVideoSizeSuccessful = invalidRecordSetting(15, 800, 600, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_VIDEO_3GP, false); - assertTrue("Invalid video Size", isTestInvalidVideoSizeSuccessful); - } - - @Suppress - @LargeTest - public void testInvalidFrameRate() throws Exception { - boolean isTestInvalidFrameRateSuccessful = false; - isTestInvalidFrameRateSuccessful = invalidRecordSetting(50, 176, 144, MediaRecorder.VideoEncoder.H263, - MediaRecorder.OutputFormat.THREE_GPP, MediaNames.RECORDED_VIDEO_3GP, false); - assertTrue("Invalid FrameRate", isTestInvalidFrameRateSuccessful); - } - @LargeTest //test cases for the new codec public void testDeviceSpecificCodec() throws Exception { diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java index 0e3029b..34affa7 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java @@ -17,7 +17,9 @@ package com.android.mediaframeworktest.performance; import com.android.mediaframeworktest.MediaFrameworkTest; +import com.android.mediaframeworktest.MediaFrameworkPerfTestRunner; import com.android.mediaframeworktest.MediaNames; +import com.android.mediaframeworktest.MediaTestUtil; import android.database.sqlite.SQLiteDatabase; import android.hardware.Camera; @@ -27,7 +29,7 @@ import android.media.MediaRecorder; import android.os.ConditionVariable; import android.os.Looper; import android.os.SystemClock; -import android.test.ActivityInstrumentationTestCase; +import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.Suppress; import android.util.Log; @@ -52,7 +54,7 @@ import android.hardware.Camera.PreviewCallback; * Junit / Instrumentation - performance measurement for media player and * recorder */ -public class MediaPlayerPerformance extends ActivityInstrumentationTestCase<MediaFrameworkTest> { +public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<MediaFrameworkTest> { private String TAG = "MediaPlayerPerformance"; @@ -87,6 +89,15 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase<Medi protected void setUp() throws Exception { super.setUp(); + getActivity(); + if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump) + MediaTestUtil.getNativeHeapDump(this.getName() + "_before"); + } + + protected void tearDown() throws Exception { + super.tearDown(); + if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump) + MediaTestUtil.getNativeHeapDump(this.getName() + "_after"); } public void createDB() { |