From d82eae2bc5628ee3d0db039076298c93179e7aad Mon Sep 17 00:00:00 2001 From: Angus Kong Date: Tue, 11 Jun 2013 12:00:15 -0700 Subject: Use setPreviewFpsRange instead. Change-Id: I58f6af667fd906221b67b8a4827d7a67c567e20a --- src/com/android/camera/NewPhotoModule.java | 9 +++++---- src/com/android/camera/NewVideoModule.java | 9 ++++++++- src/com/android/camera/Util.java | 10 ++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) (limited to 'src/com') diff --git a/src/com/android/camera/NewPhotoModule.java b/src/com/android/camera/NewPhotoModule.java index f3eac3d57..76bcbbee5 100644 --- a/src/com/android/camera/NewPhotoModule.java +++ b/src/com/android/camera/NewPhotoModule.java @@ -1595,10 +1595,11 @@ public class NewPhotoModule private void updateCameraParametersInitialize() { // Reset preview frame rate to the maximum because it may be lowered by // video camera application. - List frameRates = mParameters.getSupportedPreviewFrameRates(); - if (frameRates != null) { - Integer max = Collections.max(frameRates); - mParameters.setPreviewFrameRate(max); + int[] frameRates = Util.getMaxPreviewFpsRange(mParameters); + if (fpsRange.length > 0) { + mParameters.setPreviewFpsRange( + fpsRange[Parameters.PREVIEW_FPS_MIN_INDEX], + fpsRange[Parameters.PREVIEW_FPS_MAX_INDEX]); } mParameters.set(Util.RECORDING_HINT, Util.FALSE); diff --git a/src/com/android/camera/NewVideoModule.java b/src/com/android/camera/NewVideoModule.java index 793cc5352..188a38965 100644 --- a/src/com/android/camera/NewVideoModule.java +++ b/src/com/android/camera/NewVideoModule.java @@ -1764,7 +1764,14 @@ public class NewVideoModule implements NewCameraModule, @SuppressWarnings("deprecation") private void setCameraParameters() { mParameters.setPreviewSize(mDesiredPreviewWidth, mDesiredPreviewHeight); - mParameters.setPreviewFrameRate(mProfile.videoFrameRate); + int[] fpsRange = Util.getMaxPreviewFpsRange(mParameters); + if (fpsRange.length > 0) { + mParameters.setPreviewFpsRange( + fpsRange[Parameters.PREVIEW_FPS_MIN_INDEX], + fpsRange[Parameters.PREVIEW_FPS_MAX_INDEX]); + } else { + mParameters.setPreviewFrameRate(mProfile.videoFrameRate); + } // Set flash mode. String flashMode; diff --git a/src/com/android/camera/Util.java b/src/com/android/camera/Util.java index 6c3b3640b..3a0b61967 100644 --- a/src/com/android/camera/Util.java +++ b/src/com/android/camera/Util.java @@ -746,6 +746,16 @@ public class Util { } } + + public static int[] getMaxPreviewFpsRange(Parameters params) { + List frameRates = params.getSupportedPreviewFpsRange(); + if (frameRates != null && frameRates.size() > 0) { + // The list is sorted. Return the last element. + return frameRates.get(frameRates.size() - 1); + } + return new int[0]; + } + private static class ImageFileNamer { private SimpleDateFormat mFormat; -- cgit v1.2.3