From 749c10ad1eee7d4d02d29ff7f8cadf1978ac756c Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 14 Feb 2023 09:54:32 +0000 Subject: [PATCH] Add error codes to reflect failures in using effects. PiperOrigin-RevId: 509461955 --- .../androidx/media3/common/PlaybackException.java | 11 +++++++++++ .../exoplayer/video/MediaCodecVideoRenderer.java | 5 ++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java b/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java index f9aa597856..0ae8e30f57 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java +++ b/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java @@ -228,6 +228,13 @@ public class PlaybackException extends Exception implements Bundleable { /** Caused by an expired DRM license being loaded into an open DRM session. */ public static final int ERROR_CODE_DRM_LICENSE_EXPIRED = 6008; + // Frame processing errors (7xxx). + + /** Caused by a failure when initializing a {@link FrameProcessor}. */ + @UnstableApi public static final int ERROR_CODE_FRAME_PROCESSOR_INIT_FAILED = 7000; + /** Caused by a failure when processing a frame. */ + @UnstableApi public static final int ERROR_CODE_FRAME_PROCESSING_FAILED = 7001; + /** * Player implementations that want to surface custom errors can use error codes greater than this * value, so as to avoid collision with other error codes defined in this class. @@ -305,6 +312,10 @@ public class PlaybackException extends Exception implements Bundleable { return "ERROR_CODE_DRM_DEVICE_REVOKED"; case ERROR_CODE_DRM_LICENSE_EXPIRED: return "ERROR_CODE_DRM_LICENSE_EXPIRED"; + case ERROR_CODE_FRAME_PROCESSOR_INIT_FAILED: + return "ERROR_CODE_FRAME_PROCESSOR_INIT_FAILED"; + case ERROR_CODE_FRAME_PROCESSING_FAILED: + return "ERROR_CODE_FRAME_PROCESSING_FAILED"; default: if (errorCode >= CUSTOM_ERROR_CODE_BASE) { return "custom error code"; 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 34290750fb..ee9840996c 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 @@ -2036,8 +2036,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { renderer.createRendererException( exception, inputFormat, - // TODO(b/238302341) Add relevant error codes for frame processing. - PlaybackException.ERROR_CODE_UNSPECIFIED)); + PlaybackException.ERROR_CODE_FRAME_PROCESSING_FAILED)); } @Override @@ -2047,7 +2046,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { }); } catch (Exception e) { throw renderer.createRendererException( - e, inputFormat, PlaybackException.ERROR_CODE_UNSPECIFIED); + e, inputFormat, PlaybackException.ERROR_CODE_FRAME_PROCESSOR_INIT_FAILED); } if (currentSurfaceAndSize != null) {