From b1f0558be07bafe8d58982d1f508d372a54f66bc Mon Sep 17 00:00:00 2001 From: zhuw Date: Mon, 8 Oct 2018 17:20:45 +0800 Subject: Requirement from EIS team don't set endofstream when pause by default add switcher for setting vendor tags when pasue CRs-Fixed:2353032 Change-Id: I7da748cff85584d65818834180a5f9a843c1009d --- res/values/camera2arrays.xml | 2 ++ res/values/qcomstrings.xml | 2 ++ src/com/android/camera/CaptureModule.java | 11 ++++++++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/res/values/camera2arrays.xml b/res/values/camera2arrays.xml index e05303325..a75cf208f 100755 --- a/res/values/camera2arrays.xml +++ b/res/values/camera2arrays.xml @@ -1146,12 +1146,14 @@ for time lapse recording --> @string/pref_camera2_eis_entry_disable @string/pref_camera2_eis_entry_v2enable @string/pref_camera2_eis_entry_v3enable + @string/pref_camera2_eis_entry_v3_set_when_pause @string/pref_camera2_eis_entry_value_disable @string/pref_camera2_eis_entry_value_v2enable @string/pref_camera2_eis_entry_value_v3enable + @string/pref_camera2_eis_entry_value_v3_set_when_pause diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml index 8d12e70f6..dfe75c811 100755 --- a/res/values/qcomstrings.xml +++ b/res/values/qcomstrings.xml @@ -1239,9 +1239,11 @@ disable V2 V3 + V3 and set when pause disable V2 V3 + V3SetWhenPause disable Video FOVC diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index b8aa35973..cf5ebdbb1 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -4587,9 +4587,14 @@ public class CaptureModule implements CameraModule, PhotoController, Log.v(TAG, "pauseVideoRecording"); mMediaRecorderPausing = true; mRecordingTotalTime += SystemClock.uptimeMillis() - mRecordingStartTime; + String value = mSettingsManager.getValue(SettingsManager.KEY_EIS_VALUE); + boolean noNeedEndofStreamWhenPause = value != null && value.equals("V3"); // As EIS is not supported for HFR case (>=120 ) // and FOVC also currently don’t require this for >=120 case - if (mHighSpeedCapture && ((int)mHighSpeedFPSRange.getUpper() >= HIGH_SESSION_MAX_FPS)) { + // so use noNeedEndOfStreamInHFR to control + boolean noNeedEndOfStreamInHFR = mHighSpeedCapture && + ((int)mHighSpeedFPSRange.getUpper() >= HIGH_SESSION_MAX_FPS); + if (noNeedEndofStreamWhenPause || noNeedEndOfStreamInHFR) { mMediaRecorder.pause(); } else { setEndOfStream(false, false); @@ -4627,7 +4632,7 @@ public class CaptureModule implements CameraModule, PhotoController, } } else { // is pause or stopRecord - if (!(mMediaRecorderPausing && mStopRecPending) && (mCurrentSession != null)) { + if ((mMediaRecorderPausing || mStopRecPending) && (mCurrentSession != null)) { mCurrentSession.stopRepeating(); try { mVideoRequestBuilder.set(CaptureModule.recording_end_stream, (byte) 0x01); @@ -5288,7 +5293,7 @@ public class CaptureModule implements CameraModule, PhotoController, if (value != null) { if (value.equals("V2")) { mStreamConfigOptMode = STREAM_CONFIG_MODE_QTIEIS_REALTIME; - } else if (value.equals("V3")) { + } else if (value.equals("V3") || value.equals("V3SetWhenPause")) { mStreamConfigOptMode = STREAM_CONFIG_MODE_QTIEIS_LOOKAHEAD; } byte byteValue = (byte) (value.equals("disable") ? 0x00 : 0x01); -- cgit v1.2.3