Loading core/java/android/view/Surface.java +9 −6 Original line number Diff line number Diff line Loading @@ -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, Loading core/java/android/view/SurfaceControl.java +13 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
core/java/android/view/Surface.java +9 −6 Original line number Diff line number Diff line Loading @@ -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, Loading
core/java/android/view/SurfaceControl.java +13 −7 Original line number Diff line number Diff line Loading @@ -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 Loading