diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a116698f5c..fc8ae101b2 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -88,6 +88,21 @@ `EditedMediaItem` passed to `Transformer.start()` instead. * `setListener()`, use `addListener()`, `removeListener()` or `removeAllListeners()` instead. + * Remove the following deprecated `Tansformer.Listener` methods: + * `onTransformationCompleted(MediaItem)`, use + `onCompleted(Composition, ExportResult)` instead. + * `onTransformationCompleted(MediaItem, TransformationResult)`, use + `onCompleted(Composition, ExportResult)` instead. + * `onTransformationError(MediaItem, Exception)`, use + `onError(Composition, ExportResult, ExportException)` instead. + * `onTransformationError(MediaItem, TransformationException)`, use + `onError(Composition, ExportResult, ExportException)` instead. + * `onTransformationError(MediaItem, TransformationResult, + TransformationException)`, use `onError(Composition, ExportResult, + ExportException)` instead. + * `onFallbackApplied(MediaItem, TransformationRequest, + TransformationRequest)`, use `onFallbackApplied(Composition, + TransformationRequest, TransformationRequest)` instead. ## 1.5 diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java index c1c7486178..a8d546737a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java @@ -373,7 +373,7 @@ public class TransformerAndroidTestRunner { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { // Note: As TransformationRequest only reports the output height but not the diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java index abbb62838a..e16156a86b 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java @@ -303,7 +303,7 @@ public final class HdrEditingTest { new Transformer.Listener() { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { isFallbackListenerInvoked.set(true); @@ -361,7 +361,7 @@ public final class HdrEditingTest { new Transformer.Listener() { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { assertThat(originalTransformationRequest.hdrMode).isEqualTo(HDR_MODE_KEEP_HDR); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java index d83934d8de..1139fe3014 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java @@ -74,7 +74,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { new Transformer.Listener() { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { // Tone mapping flag shouldn't change in fallback when tone mapping is @@ -134,7 +134,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { new Transformer.Listener() { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { // Tone mapping flag shouldn't change in fallback when tone mapping is @@ -195,7 +195,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { new Transformer.Listener() { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { // Tone mapping flag shouldn't change in fallback when tone mapping is @@ -256,7 +256,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { new Transformer.Listener() { @Override public void onFallbackApplied( - MediaItem inputMediaItem, + Composition composition, TransformationRequest originalTransformationRequest, TransformationRequest fallbackTransformationRequest) { // Tone mapping flag shouldn't change in fallback when tone mapping is diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 881e2a44c4..086bd07791 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -582,58 +582,13 @@ public final class Transformer { */ public interface Listener { - /** - * @deprecated Use {@link #onCompleted(Composition, ExportResult)} instead. - */ - @Deprecated - default void onTransformationCompleted(MediaItem inputMediaItem) {} - - /** - * @deprecated Use {@link #onCompleted(Composition, ExportResult)} instead. - */ - @SuppressWarnings("deprecation") // Using deprecated type in callback - @Deprecated - default void onTransformationCompleted(MediaItem inputMediaItem, TransformationResult result) { - onTransformationCompleted(inputMediaItem); - } - /** * Called when the export is completed successfully. * * @param composition The {@link Composition} for which the export is completed. * @param exportResult The {@link ExportResult} of the export. */ - @SuppressWarnings("deprecation") // Calling deprecated listener method. - default void onCompleted(Composition composition, ExportResult exportResult) { - MediaItem mediaItem = composition.sequences.get(0).editedMediaItems.get(0).mediaItem; - onTransformationCompleted(mediaItem, new TransformationResult.Builder(exportResult).build()); - } - - /** - * @deprecated Use {@link #onError(Composition, ExportResult, ExportException)} instead. - */ - @Deprecated - default void onTransformationError(MediaItem inputMediaItem, Exception exception) {} - - /** - * @deprecated Use {@link #onError(Composition, ExportResult, ExportException)} instead. - */ - @SuppressWarnings("deprecation") // Using deprecated type in callback - @Deprecated - default void onTransformationError( - MediaItem inputMediaItem, TransformationException exception) { - onTransformationError(inputMediaItem, (Exception) exception); - } - - /** - * @deprecated Use {@link #onError(Composition, ExportResult, ExportException)} instead. - */ - @SuppressWarnings("deprecation") // Using deprecated type in callback - @Deprecated - default void onTransformationError( - MediaItem inputMediaItem, TransformationResult result, TransformationException exception) { - onTransformationError(inputMediaItem, exception); - } + default void onCompleted(Composition composition, ExportResult exportResult) {} /** * Called if an exception occurs during the export. @@ -645,25 +600,8 @@ public final class Transformer { * @param exportException The {@link ExportException} describing the exception. This is the same * instance as the {@linkplain ExportResult#exportException exception} in {@code result}. */ - @SuppressWarnings("deprecation") // Calling deprecated listener method. default void onError( - Composition composition, ExportResult exportResult, ExportException exportException) { - MediaItem mediaItem = composition.sequences.get(0).editedMediaItems.get(0).mediaItem; - onTransformationError( - mediaItem, - new TransformationResult.Builder(exportResult).build(), - new TransformationException(exportException)); - } - - /** - * @deprecated Use {@link #onFallbackApplied(Composition, TransformationRequest, - * TransformationRequest)} instead. - */ - @Deprecated - default void onFallbackApplied( - MediaItem inputMediaItem, - TransformationRequest originalTransformationRequest, - TransformationRequest fallbackTransformationRequest) {} + Composition composition, ExportResult exportResult, ExportException exportException) {} /** * Called when falling back to an alternative {@link TransformationRequest} or changing the @@ -677,14 +615,10 @@ public final class Transformer { * TransformationRequest#videoMimeType}, {@link TransformationRequest#outputHeight}, and * {@link TransformationRequest#hdrMode} values set. */ - @SuppressWarnings("deprecation") // Calling deprecated listener method. default void onFallbackApplied( Composition composition, TransformationRequest originalTransformationRequest, - TransformationRequest fallbackTransformationRequest) { - MediaItem mediaItem = composition.sequences.get(0).editedMediaItems.get(0).mediaItem; - onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); - } + TransformationRequest fallbackTransformationRequest) {} } /** diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java index 96fac1b45d..a7500f1d39 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java @@ -102,7 +102,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeoutException; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import org.junit.After; @@ -723,112 +722,6 @@ public final class MediaItemExportTest { composition, originalTransformationRequest, fallbackTransformationRequest); } - @Test - public void start_success_callsDeprecatedCompletionCallbacks() throws Exception { - CapturingMuxer.Factory muxerFactory = new CapturingMuxer.Factory(/* handleAudioAsPcm= */ false); - AtomicBoolean deprecatedFallbackCalled1 = new AtomicBoolean(); - AtomicBoolean deprecatedFallbackCalled2 = new AtomicBoolean(); - Transformer transformer = - createTransformerBuilder(muxerFactory, /* enableFallback= */ false) - .addListener( - new Transformer.Listener() { - @Override - public void onTransformationCompleted(MediaItem inputMediaItem) { - deprecatedFallbackCalled1.set(true); - } - }) - .addListener( - new Transformer.Listener() { - @Override - public void onTransformationCompleted( - MediaItem inputMediaItem, TransformationResult result) { - deprecatedFallbackCalled2.set(true); - } - }) - .build(); - MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); - - transformer.start(mediaItem, outputDir.newFile().getPath()); - TransformerTestRunner.runLooper(transformer); - - assertThat(deprecatedFallbackCalled1.get()).isTrue(); - assertThat(deprecatedFallbackCalled2.get()).isTrue(); - } - - @Test - public void start_withError_callsDeprecatedErrorCallbacks() throws Exception { - CapturingMuxer.Factory muxerFactory = new CapturingMuxer.Factory(/* handleAudioAsPcm= */ false); - AtomicBoolean deprecatedFallbackCalled1 = new AtomicBoolean(); - AtomicBoolean deprecatedFallbackCalled2 = new AtomicBoolean(); - AtomicBoolean deprecatedFallbackCalled3 = new AtomicBoolean(); - Transformer transformer = - createTransformerBuilder(muxerFactory, /* enableFallback= */ false) - .addListener( - new Transformer.Listener() { - @Override - public void onTransformationError(MediaItem inputMediaItem, Exception exception) { - deprecatedFallbackCalled1.set(true); - } - }) - .addListener( - new Transformer.Listener() { - @Override - public void onTransformationError( - MediaItem inputMediaItem, TransformationException exception) { - deprecatedFallbackCalled2.set(true); - } - }) - .addListener( - new Transformer.Listener() { - @Override - public void onTransformationError( - MediaItem inputMediaItem, - TransformationResult result, - TransformationException exception) { - deprecatedFallbackCalled3.set(true); - } - }) - .build(); - MediaItem mediaItem = MediaItem.fromUri("invalid.uri"); - - transformer.start(mediaItem, outputDir.newFile().getPath()); - try { - TransformerTestRunner.runLooper(transformer); - } catch (ExportException exportException) { - // Ignore exception thrown. - } - - assertThat(deprecatedFallbackCalled1.get()).isTrue(); - assertThat(deprecatedFallbackCalled2.get()).isTrue(); - assertThat(deprecatedFallbackCalled3.get()).isTrue(); - } - - @Test - public void start_withFallback_callsDeprecatedFallbackCallbacks() throws Exception { - CapturingMuxer.Factory muxerFactory = new CapturingMuxer.Factory(/* handleAudioAsPcm= */ true); - AtomicBoolean deprecatedFallbackCalled = new AtomicBoolean(); - Transformer transformer = - createTransformerBuilder(muxerFactory, /* enableFallback= */ true) - .addListener( - new Transformer.Listener() { - @Override - public void onFallbackApplied( - MediaItem inputMediaItem, - TransformationRequest originalTransformationRequest, - TransformationRequest fallbackTransformationRequest) { - deprecatedFallbackCalled.set(true); - } - }) - .build(); - - // No RAW encoder/muxer support, so fallback. - transformer.start( - MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW), outputDir.newFile().getPath()); - TransformerTestRunner.runLooper(transformer); - - assertThat(deprecatedFallbackCalled.get()).isTrue(); - } - @Test public void start_afterBuildUponWithListenerRemoved_onlyCallsRemainingListeners() throws Exception {