From cba027c3b4454f391cfd1f5681ef701b658e3659 Mon Sep 17 00:00:00 2001 From: christosts Date: Tue, 8 Aug 2023 15:52:29 +0000 Subject: [PATCH] Util.getMaxPendingFramesCountForMediaCodecDecoders(): Remove unused arguments PiperOrigin-RevId: 554838494 --- .../androidx/media3/common/util/Util.java | 19 +++++++++++-------- .../video/MediaCodecVideoRenderer.java | 3 +-- .../media3/transformer/DefaultCodec.java | 4 +--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index cec35de3fec..2ec58048a80 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -3012,19 +3012,22 @@ public static int getErrorCodeFromPlatformDiagnosticsInfo(@Nullable String diagn } } + @UnstableApi + public static boolean isFrameDropAllowedOnSurfaceInput(Context context) { + // Prior to API 29, decoders may drop frames to keep their output surface from growing out of + // bounds. From API 29, if the app targets API 29 or later, the {@link + // MediaFormat#KEY_ALLOW_FRAME_DROP} key prevents frame dropping even when the surface is + // full. + return Util.SDK_INT < 29 || context.getApplicationInfo().targetSdkVersion < 29; + } + /** * Returns the number of maximum pending output frames that are allowed on a {@link MediaCodec} * decoder. */ @UnstableApi - public static int getMaxPendingFramesCountForMediaCodecDecoders( - Context context, String codecName, boolean requestedHdrToneMapping) { - if (SDK_INT < 29 - || context.getApplicationContext().getApplicationInfo().targetSdkVersion < 29) { - // Prior to API 29, decoders may drop frames to keep their output surface from growing out of - // bounds. From API 29, if the app targets API 29 or later, the {@link - // MediaFormat#KEY_ALLOW_FRAME_DROP} key prevents frame dropping even when the surface is - // full. + public static int getMaxPendingFramesCountForMediaCodecDecoders(Context context) { + if (isFrameDropAllowedOnSurfaceInput(context)) { // Frame dropping is never desired, so a workaround is needed for older API levels. // Allow a maximum of one frame to be pending at a time to prevent frame dropping. // TODO(b/226330223): Investigate increasing this limit. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java index d73438d2c84..1957db36bc5 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java @@ -2264,8 +2264,7 @@ public MediaFormat amendMediaFormatKeys(MediaFormat mediaFormat) { */ public void onCodecInitialized(String codecName) { videoFrameProcessorMaxPendingFrameCount = - Util.getMaxPendingFramesCountForMediaCodecDecoders( - renderer.context, codecName, /* requestedHdrToneMapping= */ false); + Util.getMaxPendingFramesCountForMediaCodecDecoders(renderer.context); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 97ce47a5dd0..fdec19d85b0 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -154,9 +154,7 @@ public DefaultCodec( } this.mediaCodec = mediaCodec; this.inputSurface = inputSurface; - maxPendingFrameCount = - Util.getMaxPendingFramesCountForMediaCodecDecoders( - context, mediaCodecName, requestedHdrToneMapping); + maxPendingFrameCount = Util.getMaxPendingFramesCountForMediaCodecDecoders(context); } @Override