diff options
author | Jay Wang <jaywang@codeaurora.org> | 2016-09-02 15:17:27 -0700 |
---|---|---|
committer | Jay Wang <jaywang@codeaurora.org> | 2016-09-27 10:35:50 -0700 |
commit | a0277902bc24ab9c14bbf227e95d18e486b2310b (patch) | |
tree | 022524826c8f3568620068cebd604f31ae7f3111 /src/com/android/camera/SettingsManager.java | |
parent | 94df9e6541dd5b303477e7cf0709efccfa4af4b7 (diff) | |
download | android_packages_apps_Snap-a0277902bc24ab9c14bbf227e95d18e486b2310b.tar.gz android_packages_apps_Snap-a0277902bc24ab9c14bbf227e95d18e486b2310b.tar.bz2 android_packages_apps_Snap-a0277902bc24ab9c14bbf227e95d18e486b2310b.zip |
SnapdragonCamera: Filter video size based on supported camcorder profile
Supported video size needs to be finalized by checking the supported
camcorder profile.
CRs-Fixed: 1066540
Change-Id: I131779263cfee229aa82a97453d7ba0402031717
Diffstat (limited to 'src/com/android/camera/SettingsManager.java')
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index e2057660c..0c5f2edb2 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -39,6 +39,7 @@ import android.hardware.camera2.CameraManager; import android.hardware.camera2.CameraMetadata; import android.hardware.camera2.params.StreamConfigurationMap; import android.media.MediaRecorder; +import android.media.CamcorderProfile; import android.util.Log; import android.util.Range; import android.util.Rational; @@ -895,7 +896,13 @@ public class SettingsManager implements ListMenu.SettingsListener { Size[] sizes = map.getOutputSizes(MediaRecorder.class); List<String> res = new ArrayList<>(); for (int i = 0; i < sizes.length; i++) { - res.add(sizes[i].toString()); + if (CameraSettings.VIDEO_QUALITY_TABLE.containsKey(sizes[i].toString())) { + int profile = CameraSettings.VIDEO_QUALITY_TABLE.get(sizes[i].toString()); + + if (CamcorderProfile.hasProfile(cameraId, profile)) { + res.add(sizes[i].toString()); + } + } } return res; } @@ -907,7 +914,12 @@ public class SettingsManager implements ListMenu.SettingsListener { List<String> res = new ArrayList<>(); for (int i = 0; i < sizes.length; i++) { if(sizes[i].getWidth() <= maxWidth && sizes[i].getHeight() <= maxHeight) { - res.add(sizes[i].toString()); + if (CameraSettings.VIDEO_QUALITY_TABLE.containsKey(sizes[i].toString())) { + int profile = CameraSettings.VIDEO_QUALITY_TABLE.get(sizes[i].toString()); + if (CamcorderProfile.hasProfile(cameraId, profile)) { + res.add(sizes[i].toString()); + } + } } } return res; |