Snap for 10754184 from ff840bdcbb9f4484d04c1f4028e2526f19882f86 to mainline-adservices-release

Change-Id: I6a1d833e55265d1fdc64a963abce2b5d8de4857a
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index b675714..6e0e9a7 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -3021,6 +3021,13 @@
               <p>Only constrains auto-exposure (AE) algorithm,<wbr/> not
 manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> and
 <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>.<wbr/></p>
+<p>To start a CaptureSession with a target FPS range different from the
+capture request template's default value,<wbr/> the application
+is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the target fps range before creating the capture session.<wbr/> The aeTargetFpsRange is
+typically a session parameter.<wbr/> Specifying it at session creation time helps avoid
+session reconfiguration delays in cases like 60fps or high speed recording.<wbr/></p>
             </td>
           </tr>
 
@@ -4776,6 +4783,12 @@
 <a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a> field will return
 OFF if the recording output is not stabilized,<wbr/> or if there are no output
 Surface types that can be stabilized.<wbr/></p>
+<p>The application is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the desired video stabilization mode before creating the capture session.<wbr/>
+Video stabilization mode is a session parameter on many devices.<wbr/> Specifying
+it at session creation time helps avoid reconfiguration delay caused by difference
+between the default value and the first CaptureRequest.<wbr/></p>
 <p>If a camera device supports both this mode and OIS
 (<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>),<wbr/> turning both modes on may
 produce undesirable interaction,<wbr/> so it is recommended not to enable
@@ -8284,6 +8297,13 @@
               <p>Only constrains auto-exposure (AE) algorithm,<wbr/> not
 manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> and
 <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>.<wbr/></p>
+<p>To start a CaptureSession with a target FPS range different from the
+capture request template's default value,<wbr/> the application
+is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the target fps range before creating the capture session.<wbr/> The aeTargetFpsRange is
+typically a session parameter.<wbr/> Specifying it at session creation time helps avoid
+session reconfiguration delays in cases like 60fps or high speed recording.<wbr/></p>
             </td>
           </tr>
 
@@ -11082,6 +11102,12 @@
 <a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a> field will return
 OFF if the recording output is not stabilized,<wbr/> or if there are no output
 Surface types that can be stabilized.<wbr/></p>
+<p>The application is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the desired video stabilization mode before creating the capture session.<wbr/>
+Video stabilization mode is a session parameter on many devices.<wbr/> Specifying
+it at session creation time helps avoid reconfiguration delay caused by difference
+between the default value and the first CaptureRequest.<wbr/></p>
 <p>If a camera device supports both this mode and OIS
 (<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>),<wbr/> turning both modes on may
 produce undesirable interaction,<wbr/> so it is recommended not to enable
@@ -39487,9 +39513,8 @@
               <p>This control allows Camera extension clients to configure the strength of the applied
 extension effect.<wbr/> Strength equal to 0 means that the extension must not apply any
 post-processing and return a regular captured frame.<wbr/> Strength equal to 100 is the
-default level of post-processing applied when the control is not supported or not set
-by the client.<wbr/> Values between 0 and 100 will have different effect depending on the
-extension type as described below:</p>
+maximum level of post-processing.<wbr/> Values between 0 and 100 will have different effect
+depending on the extension type as described below:</p>
 <ul>
 <li><a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#EXTENSION_BOKEH">BOKEH</a> -
 the strength is expected to control the amount of blur.<wbr/></li>
@@ -39504,7 +39529,9 @@
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#getAvailableCaptureRequestKeys">CameraExtensionCharacteristics#getAvailableCaptureRequestKeys</a>.<wbr/>
 The control is only defined and available to clients sending capture requests via
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionSession.html">CameraExtensionSession</a>.<wbr/>
-The default value is 100.<wbr/></p>
+If the client doesn't specify the extension strength value,<wbr/> then a default value will
+be set by the extension.<wbr/> Clients can retrieve the default value by checking the
+corresponding capture result.<wbr/></p>
             </td>
           </tr>
 
@@ -39647,9 +39674,8 @@
               <p>This control allows Camera extension clients to configure the strength of the applied
 extension effect.<wbr/> Strength equal to 0 means that the extension must not apply any
 post-processing and return a regular captured frame.<wbr/> Strength equal to 100 is the
-default level of post-processing applied when the control is not supported or not set
-by the client.<wbr/> Values between 0 and 100 will have different effect depending on the
-extension type as described below:</p>
+maximum level of post-processing.<wbr/> Values between 0 and 100 will have different effect
+depending on the extension type as described below:</p>
 <ul>
 <li><a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#EXTENSION_BOKEH">BOKEH</a> -
 the strength is expected to control the amount of blur.<wbr/></li>
@@ -39664,7 +39690,9 @@
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#getAvailableCaptureRequestKeys">CameraExtensionCharacteristics#getAvailableCaptureRequestKeys</a>.<wbr/>
 The control is only defined and available to clients sending capture requests via
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionSession.html">CameraExtensionSession</a>.<wbr/>
-The default value is 100.<wbr/></p>
+If the client doesn't specify the extension strength value,<wbr/> then a default value will
+be set by the extension.<wbr/> Clients can retrieve the default value by checking the
+corresponding capture result.<wbr/></p>
             </td>
           </tr>
 
diff --git a/camera/docs/metadata_definitions.xml b/camera/docs/metadata_definitions.xml
index 9ad6327..c401dc0 100644
--- a/camera/docs/metadata_definitions.xml
+++ b/camera/docs/metadata_definitions.xml
@@ -825,7 +825,16 @@
           <range>Any of the entries in android.control.aeAvailableTargetFpsRanges</range>
           <details>Only constrains auto-exposure (AE) algorithm, not
           manual control of android.sensor.exposureTime and
-          android.sensor.frameDuration.</details>
+          android.sensor.frameDuration.
+
+          To start a CaptureSession with a target FPS range different from the
+          capture request template's default value, the application
+          is strongly recommended to call
+          {@link SessionConfiguration#setSessionParameters|ACameraDevice_createCaptureSessionWithSessionParameters}
+          with the target fps range before creating the capture session. The aeTargetFpsRange is
+          typically a session parameter. Specifying it at session creation time helps avoid
+          session reconfiguration delays in cases like 60fps or high speed recording.
+          </details>
           <tag id="BC" />
         </entry>
         <entry name="aePrecaptureTrigger" type="byte" visibility="public"
@@ -2096,6 +2105,13 @@
           OFF if the recording output is not stabilized, or if there are no output
           Surface types that can be stabilized.
 
+          The application is strongly recommended to call
+          {@link SessionConfiguration#setSessionParameters|ACameraDevice_createCaptureSessionWithSessionParameters}
+          with the desired video stabilization mode before creating the capture session.
+          Video stabilization mode is a session parameter on many devices. Specifying
+          it at session creation time helps avoid reconfiguration delay caused by difference
+          between the default value and the first CaptureRequest.
+
           If a camera device supports both this mode and OIS
           (android.lens.opticalStabilizationMode), turning both modes on may
           produce undesirable interaction, so it is recommended not to enable
@@ -14111,9 +14127,8 @@
           This control allows Camera extension clients to configure the strength of the applied
           extension effect. Strength equal to 0 means that the extension must not apply any
           post-processing and return a regular captured frame. Strength equal to 100 is the
-          default level of post-processing applied when the control is not supported or not set
-          by the client. Values between 0 and 100 will have different effect depending on the
-          extension type as described below:
+          maximum level of post-processing. Values between 0 and 100 will have different effect
+          depending on the extension type as described below:
 
           * {@link android.hardware.camera2.CameraExtensionCharacteristics#EXTENSION_BOKEH BOKEH} -
           the strength is expected to control the amount of blur.
@@ -14128,7 +14143,9 @@
           {@link android.hardware.camera2.CameraExtensionCharacteristics#getAvailableCaptureRequestKeys}.
           The control is only defined and available to clients sending capture requests via
           {@link android.hardware.camera2.CameraExtensionSession}.
-          The default value is 100.
+          If the client doesn't specify the extension strength value, then a default value will
+          be set by the extension. Clients can retrieve the default value by checking the
+          corresponding capture result.
           </details>
         </entry>
       </controls>