From 620a4240366f13c3359c6825c92e831563cc11b6 Mon Sep 17 00:00:00 2001 From: James Dong Date: Wed, 7 Jul 2010 14:37:48 -0700 Subject: [PATCH] Fix some bugs in the MediaProfileReader Because the video and audio encoders were stored in the same map, when we retrieve the name from the map, we can get a incorrect name. Change-Id: I3857422bfe9173baae53e4f3d258b055f51ad9f2 --- .../MediaProfileReader.java | 30 +++++++++++-------- .../functional/MediaRecorderTest.java | 4 +-- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java index 056537df1f627..b1ad315fcb46c 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java @@ -34,10 +34,12 @@ public class MediaProfileReader private static final List audioDecoders = DecoderCapabilities.getAudioDecoders(); private static final List videoEncoders = EncoderCapabilities.getVideoEncoders(); private static final List audioEncoders = EncoderCapabilities.getAudioEncoders(); - private static final HashMap encoderMap = new HashMap(); + private static final HashMap videoEncoderMap = new HashMap(); + private static final HashMap audioEncoderMap = new HashMap(); static { - initEncoderMap(); + initAudioEncoderMap(); + initVideoEncoderMap(); }; public static List getVideoEncoders() { @@ -79,7 +81,7 @@ public class MediaProfileReader videoEncoder != MediaRecorder.VideoEncoder.MPEG_4_SP) { throw new IllegalArgumentException("Unsupported video encoder " + videoEncoder); } - return encoderMap.get(videoEncoder); + return videoEncoderMap.get(videoEncoder); } public static String getAudioCodecName(int audioEncoder) { @@ -90,22 +92,24 @@ public class MediaProfileReader audioEncoder != MediaRecorder.AudioEncoder.EAAC_PLUS) { throw new IllegalArgumentException("Unsupported audio encodeer " + audioEncoder); } - return encoderMap.get(audioEncoder); + return audioEncoderMap.get(audioEncoder); } private MediaProfileReader() {} // Don't call me - private static void initEncoderMap() { + private static void initVideoEncoderMap() { // video encoders - encoderMap.put(MediaRecorder.VideoEncoder.H263, "h263"); - encoderMap.put(MediaRecorder.VideoEncoder.H264, "h264"); - encoderMap.put(MediaRecorder.VideoEncoder.MPEG_4_SP, "m4v"); + videoEncoderMap.put(MediaRecorder.VideoEncoder.H263, "h263"); + videoEncoderMap.put(MediaRecorder.VideoEncoder.H264, "h264"); + videoEncoderMap.put(MediaRecorder.VideoEncoder.MPEG_4_SP, "m4v"); + } + private static void initAudioEncoderMap() { // audio encoders - encoderMap.put(MediaRecorder.AudioEncoder.AMR_NB, "amrnb"); - encoderMap.put(MediaRecorder.AudioEncoder.AMR_WB, "amrwb"); - encoderMap.put(MediaRecorder.AudioEncoder.AAC, "aac"); - encoderMap.put(MediaRecorder.AudioEncoder.AAC_PLUS, "aacplus"); - encoderMap.put(MediaRecorder.AudioEncoder.EAAC_PLUS, "eaacplus"); + audioEncoderMap.put(MediaRecorder.AudioEncoder.AMR_NB, "amrnb"); + audioEncoderMap.put(MediaRecorder.AudioEncoder.AMR_WB, "amrwb"); + audioEncoderMap.put(MediaRecorder.AudioEncoder.AAC, "aac"); + audioEncoderMap.put(MediaRecorder.AudioEncoder.AAC_PLUS, "aacplus"); + audioEncoderMap.put(MediaRecorder.AudioEncoder.EAAC_PLUS, "eaacplus"); } } 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 a52fd76acdbc1..23326577ef9a7 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaRecorderTest.java @@ -121,8 +121,8 @@ public class MediaRecorderTest extends ActivityInstrumentationTestCase