Class FrameDropEffect

  • All Implemented Interfaces:
    GlEffect, Effect

    @Deprecated
    public class FrameDropEffect
    extends Object
    implements GlEffect
    Deprecated.
    com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.
    Drops frames to lower average frame rate to around targetFrameRate.
    • Method Detail

      • createDefaultFrameDropEffect

        public static FrameDropEffect createDefaultFrameDropEffect​(float targetFrameRate)
        Deprecated.
        Creates a FrameDropEffect with the default frame dropping strategy.

        The strategy used is to queue the current frame, x, with timestamp T_x if and only if one of the following is true:

        • x is the first frame,
        • (T_x - T_lastQueued) is closer to the target frame interval than (T_(x+1) - T_lastQueued)

        Where T_lastQueued is the timestamp of the last queued frame and T_(x+1) is the timestamp of the next frame. The target frame interval is determined from targetFrameRate.

        Parameters:
        targetFrameRate - The number of frames per second the output video should roughly have.
      • createSimpleFrameDropEffect

        public static FrameDropEffect createSimpleFrameDropEffect​(float expectedFrameRate,
                                                                  float targetFrameRate)
        Deprecated.
        Creates a FrameDropEffect that keeps every nth frame, where n is the inputFrameRate divided by the targetFrameRate.

        For example, if the input stream came in at 60fps and the targeted frame rate was 20fps, every 3rd frame would be kept. If n is not an integer, then we round to the nearest one.

        Parameters:
        expectedFrameRate - The number of frames per second in the input stream.
        targetFrameRate - The number of frames per second the output video should roughly have.