Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6bd1ea0 authored by James Dong's avatar James Dong
Browse files

Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()

as part of the preparation for publishing MediaMetadataRetriever as public Java API

bug - 2433195

Change-Id: I6e8a771347e3d89bfe359ae403ebfe3205ea6313
parent 7c2bacf6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ public class ThumbnailUtils {
        try {
            retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY);
            retriever.setDataSource(filePath);
            bitmap = retriever.captureFrame();
            bitmap = retriever.getFrameAtTime(-1);
        } catch (IllegalArgumentException ex) {
            // Assume this is a corrupt video file
        } catch (RuntimeException ex) {
+1 −1
Original line number Diff line number Diff line
@@ -532,7 +532,7 @@ public class CodecTest {
                e.printStackTrace();
                return false;
            }
            Bitmap outThumbnail = mMediaMetadataRetriever.captureFrame();
            Bitmap outThumbnail = mMediaMetadataRetriever.getFrameAtTime(-1);

            //Verify the thumbnail 
            Bitmap goldenBitmap = mBitmapFactory.decodeFile(goldenPath);
+8 −8
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
                    continue;
                }
                retriever.setDataSource(MediaNames.THUMBNAIL_CAPTURE_TEST_FILES[i]);
                Bitmap bitmap = retriever.captureFrame();
                Bitmap bitmap = retriever.getFrameAtTime(-1);
                assertTrue(bitmap != null);
                try {
                    java.io.OutputStream stream = new FileOutputStream(MediaNames.THUMBNAIL_CAPTURE_TEST_FILES[i] + ".jpg");
@@ -146,7 +146,7 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
        MediaMetadataRetriever retriever = new MediaMetadataRetriever();
        try {
            retriever.setDataSource(MediaNames.TEST_PATH_1);
            Bitmap bitmap = retriever.captureFrame();
            Bitmap bitmap = retriever.getFrameAtTime(-1);
            assertTrue(bitmap != null);
            try {
                java.io.OutputStream stream = new FileOutputStream("/sdcard/thumbnailout.jpg");
@@ -164,7 +164,7 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
        assertTrue(!hasFailed);
    }

    // If setDataSource() has not been called, both captureFrame() and extractMetadata() must
    // If setDataSource() has not been called, both getFrameAtTime() and extractMetadata() must
    // return null.
    @MediumTest
    public static void testBasicAbnormalMethodCallSequence() {
@@ -175,7 +175,7 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
            Log.e(TAG, "No album metadata expected, but is available");
            hasFailed = true;
        }
        if (retriever.captureFrame() != null) {
        if (retriever.getFrameAtTime(-1) != null) {
            Log.e(TAG, "No frame expected, but is available");
            hasFailed = true;
        }
@@ -249,13 +249,13 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
        MediaMetadataRetriever retriever = new MediaMetadataRetriever();
        boolean hasFailed = false;
        retriever.setDataSource(MediaNames.TEST_PATH_1);
        assertTrue(retriever.captureFrame() != null);
        assertTrue(retriever.getFrameAtTime(-1) != null);
        assertTrue(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_NUM_TRACKS) != null);

        // Do not capture frame or retrieve metadata
        retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY & MediaMetadataRetriever.MODE_GET_METADATA_ONLY);
        retriever.setDataSource(MediaNames.TEST_PATH_1);
        if (retriever.captureFrame() != null) {
        if (retriever.getFrameAtTime(-1) != null) {
            Log.e(TAG, "No frame expected, but is available");
            hasFailed = true;
        }
@@ -272,7 +272,7 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
        // Retriever metadata only
        retriever.setMode(MediaMetadataRetriever.MODE_GET_METADATA_ONLY);
        retriever.setDataSource(MediaNames.TEST_PATH_1);
        if (retriever.captureFrame() != null) {
        if (retriever.getFrameAtTime(-1) != null) {
            Log.e(TAG, "No frame expected, but is available");
            hasFailed = true;
        }
@@ -280,7 +280,7 @@ public class MediaMetadataRetrieverTest extends AndroidTestCase {
        // Capture frame and retrieve metadata
        retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY | MediaMetadataRetriever.MODE_GET_METADATA_ONLY);
        retriever.setDataSource(MediaNames.TEST_PATH_1);
        assertTrue(retriever.captureFrame() != null);
        assertTrue(retriever.getFrameAtTime(-1) != null);
        assertTrue(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_NUM_TRACKS) != null);
        retriever.release();
        assertTrue(!hasFailed);