diff --git a/libraries/exoplayer/proguard-rules.txt b/libraries/exoplayer/proguard-rules.txt index 7733da1f39..9e04184575 100644 --- a/libraries/exoplayer/proguard-rules.txt +++ b/libraries/exoplayer/proguard-rules.txt @@ -61,3 +61,13 @@ -keepclasseswithmembers class androidx.media3.exoplayer.rtsp.RtspMediaSource$Factory { (); } + +# Constructors and methods accessed via reflection in CompositingVideoSinkProvider +-dontnote androidx.media3.effect.PreviewingSingleInputVideoGraph$Factory +-keepclasseswithmembers class androidx.media3.effect.PreviewingSingleInputVideoGraph$Factory { + (androidx.media3.common.VideoFrameProcessor$Factory); +} +-dontnote androidx.media3.effect.DefaultVideoFrameProcessor$Factory$Builder +-keepclasseswithmembers class androidx.media3.effect.DefaultVideoFrameProcessor$Factory$Builder { + build(); +} diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java index d774014ed8..b7b9c1b900 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java @@ -827,7 +827,6 @@ public final class CompositingVideoSinkProvider Suppliers.memoize( () -> { try { - // TODO: b/284964524- Add LINT and proguard checks for media3.effect reflection. Class defaultVideoFrameProcessorFactoryBuilderClass = Class.forName( "androidx.media3.effect.DefaultVideoFrameProcessor$Factory$Builder");