summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/Surface.java15
-rw-r--r--core/java/android/view/SurfaceControl.java20
2 files changed, 22 insertions, 13 deletions
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index aa3c9d6e14f9..ff2d2eb3d334 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -936,18 +936,21 @@ public class Surface implements Parcelable {
* @param frameRate The intended frame rate of this surface, in frames per second. 0
* is a special value that indicates the app will accept the system's choice for the
* display frame rate, which is the default behavior if this function isn't
- * called. The frameRate param does <em>not</em> need to be a valid refresh rate for
- * this device's display - e.g., it's fine to pass 30fps to a device that can only run
+ * called. The <code>frameRate</code> parameter does <em>not</em> need to be a valid refresh
+ * rate for this device's display - e.g., it's fine to pass 30fps to a device that can only run
* the display at 60fps.
*
* @param compatibility The frame rate compatibility of this surface. The
* compatibility value may influence the system's choice of display frame rate.
+ * This parameter is ignored when <code>frameRate</code> is 0.
*
- * @param changeFrameRateStrategy Whether display refresh rate transitions should be seamless. A
- * seamless transition is one that doesn't have any visual interruptions, such as a black
- * screen for a second or two.
+ * @param changeFrameRateStrategy Whether display refresh rate transitions caused by this
+ * surface should be seamless. A seamless transition is one that doesn't have any visual
+ * interruptions, such as a black screen for a second or two. This parameter is ignored when
+ * <code>frameRate</code> is 0.
*
- * @throws IllegalArgumentException If frameRate or compatibility are invalid.
+ * @throws IllegalArgumentException If <code>frameRate</code>, <code>compatibility</code> or
+ * <code>changeFrameRateStrategy</code> are invalid.
*/
public void setFrameRate(@FloatRange(from = 0.0) float frameRate,
@FrameRateCompatibility int compatibility,
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 3ff7a65b6c6a..ac70dff4f03e 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -3298,20 +3298,26 @@ public final class SurfaceControl implements Parcelable {
* because the system may change the display refresh rate, calls to this function may result
* in changes to Choreographer callback timings, and changes to the time interval at which
* the system releases buffers back to the application.
+ * <p>
+ * Note that this only has an effect for surfaces presented on the display. If this
+ * surface is consumed by something other than the system compositor, e.g. a media
+ * codec, this call has no effect.
*
* @param sc The SurfaceControl to specify the frame rate of.
* @param frameRate The intended frame rate for this surface, in frames per second. 0 is a
* special value that indicates the app will accept the system's choice for
* the display frame rate, which is the default behavior if this function
- * isn't called. The frameRate param does <em>not</em> need to be a valid
- * refresh rate for this device's display - e.g., it's fine to pass 30fps
- * to a device that can only run the display at 60fps.
+ * isn't called. The <code>frameRate</code> param does <em>not</em> need
+ * to be a valid refresh rate for this device's display - e.g., it's fine
+ * to pass 30fps to a device that can only run the display at 60fps.
* @param compatibility The frame rate compatibility of this surface. The compatibility
* value may influence the system's choice of display frame rate.
- * @param changeFrameRateStrategy Whether display refresh rate transitions should be
- * seamless. A seamless transition is one that doesn't have
- * any visual interruptions, such as a black screen for a
- * second or two.
+ * This parameter is ignored when <code>frameRate</code> is 0.
+ * @param changeFrameRateStrategy Whether display refresh rate transitions caused by this
+ * surface should be seamless. A seamless transition is one
+ * that doesn't have any visual interruptions, such as a
+ * black screen for a second or two. This parameter is
+ * ignored when <code>frameRate</code> is 0.
* @return This transaction object.
*/
@NonNull