diff --git a/demos/transformer/src/main/java/com/google/android/exoplayer2/transformerdemo/TransformerActivity.java b/demos/transformer/src/main/java/com/google/android/exoplayer2/transformerdemo/TransformerActivity.java index 82b0f6321e..419ac03e44 100644 --- a/demos/transformer/src/main/java/com/google/android/exoplayer2/transformerdemo/TransformerActivity.java +++ b/demos/transformer/src/main/java/com/google/android/exoplayer2/transformerdemo/TransformerActivity.java @@ -67,7 +67,7 @@ import com.google.android.exoplayer2.effect.Presentation; import com.google.android.exoplayer2.effect.RgbAdjustment; import com.google.android.exoplayer2.effect.RgbFilter; import com.google.android.exoplayer2.effect.RgbMatrix; -import com.google.android.exoplayer2.effect.ScaleToFitTransformation; +import com.google.android.exoplayer2.effect.ScaleAndRotateTransformation; import com.google.android.exoplayer2.effect.SimpleBitmapLoader; import com.google.android.exoplayer2.effect.SingleColorLut; import com.google.android.exoplayer2.effect.TextOverlay; @@ -548,7 +548,7 @@ public final class TransformerActivity extends AppCompatActivity { bundle.getFloat(ConfigurationActivity.ROTATE_DEGREES, /* defaultValue= */ 0); if (scaleX != 1f || scaleY != 1f || rotateDegrees != 0f) { effects.add( - new ScaleToFitTransformation.Builder() + new ScaleAndRotateTransformation.Builder() .setScale(scaleX, scaleY) .setRotationDegrees(rotateDegrees) .build()); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java index 75bb7dcbbc..4d47d7918e 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java @@ -2284,16 +2284,17 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { private static final class VideoFrameProcessorAccessor { - private static @MonotonicNonNull Constructor scaleToFitTransformationBuilderConstructor; + private static @MonotonicNonNull Constructor + scaleAndRotateTransformationBuilderConstructor; private static @MonotonicNonNull Method setRotationMethod; - private static @MonotonicNonNull Method buildScaleToFitTransformationMethod; + private static @MonotonicNonNull Method buildScaleAndRotateTransformationMethod; private static @MonotonicNonNull Constructor videoFrameProcessorFactoryConstructor; public static Effect createRotationEffect(float rotationDegrees) throws Exception { prepare(); - Object builder = scaleToFitTransformationBuilderConstructor.newInstance(); + Object builder = scaleAndRotateTransformationBuilderConstructor.newInstance(); setRotationMethod.invoke(builder, rotationDegrees); - return (Effect) checkNotNull(buildScaleToFitTransformationMethod.invoke(builder)); + return (Effect) checkNotNull(buildScaleAndRotateTransformationMethod.invoke(builder)); } public static VideoFrameProcessor.Factory getFrameProcessorFactory() throws Exception { @@ -2302,24 +2303,24 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { } @EnsuresNonNull({ - "ScaleToFitEffectBuilder", + "ScaleAndRotateEffectBuilder", "SetRotationMethod", "SetRotationMethod", "VideoFrameProcessorFactoryClass" }) private static void prepare() throws Exception { - if (scaleToFitTransformationBuilderConstructor == null + if (scaleAndRotateTransformationBuilderConstructor == null || setRotationMethod == null - || buildScaleToFitTransformationMethod == null) { - Class scaleToFitTransformationBuilderClass = + || buildScaleAndRotateTransformationMethod == null) { + Class scaleAndRotateTransformationBuilderClass = Class.forName( - "com.google.android.exoplayer2.effect.ScaleToFitTransformation$Builder"); - scaleToFitTransformationBuilderConstructor = - scaleToFitTransformationBuilderClass.getConstructor(); + "com.google.android.exoplayer2.effect.ScaleAndRotateTransformation$Builder"); + scaleAndRotateTransformationBuilderConstructor = + scaleAndRotateTransformationBuilderClass.getConstructor(); setRotationMethod = - scaleToFitTransformationBuilderClass.getMethod("setRotationDegrees", float.class); - buildScaleToFitTransformationMethod = - scaleToFitTransformationBuilderClass.getMethod("build"); + scaleAndRotateTransformationBuilderClass.getMethod("setRotationDegrees", float.class); + buildScaleAndRotateTransformationMethod = + scaleAndRotateTransformationBuilderClass.getMethod("build"); } if (videoFrameProcessorFactoryConstructor == null) { videoFrameProcessorFactoryConstructor = diff --git a/library/effect/src/androidTest/java/com/google/android/exoplayer2/effect/DefaultVideoFrameProcessorPixelTest.java b/library/effect/src/androidTest/java/com/google/android/exoplayer2/effect/DefaultVideoFrameProcessorPixelTest.java index 34f502ce92..6324b95365 100644 --- a/library/effect/src/androidTest/java/com/google/android/exoplayer2/effect/DefaultVideoFrameProcessorPixelTest.java +++ b/library/effect/src/androidTest/java/com/google/android/exoplayer2/effect/DefaultVideoFrameProcessorPixelTest.java @@ -199,15 +199,15 @@ public final class DefaultVideoFrameProcessorPixelTest { } @Test - public void matrixAndScaleToFitTransformation_matchesGoldenFile() throws Exception { - String testId = "matrixAndScaleToFitTransformation_matchesGoldenFile"; + public void matrixAndScaleAndRotateTransformation_matchesGoldenFile() throws Exception { + String testId = "matrixAndScaleAndRotateTransformation_matchesGoldenFile"; Matrix translateRightMatrix = new Matrix(); translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) .setEffects( (MatrixTransformation) (long presentationTimeUs) -> translateRightMatrix, - new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()) + new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build()) .build(); Bitmap expectedBitmap = readBitmap(TRANSLATE_THEN_ROTATE_PNG_ASSET_PATH); @@ -239,14 +239,14 @@ public final class DefaultVideoFrameProcessorPixelTest { } @Test - public void scaleToFitAndMatrixTransformation_matchesGoldenFile() throws Exception { - String testId = "scaleToFitAndMatrixTransformation_matchesGoldenFile"; + public void scaleAndRotateAndMatrixTransformation_matchesGoldenFile() throws Exception { + String testId = "scaleAndRotateAndMatrixTransformation_matchesGoldenFile"; Matrix translateRightMatrix = new Matrix(); translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) .setEffects( - new ScaleToFitTransformation.Builder().setRotationDegrees(45).build(), + new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build(), (MatrixTransformation) (long presentationTimeUs) -> translateRightMatrix) .build(); Bitmap expectedBitmap = readBitmap(ROTATE_THEN_TRANSLATE_PNG_ASSET_PATH); @@ -298,11 +298,11 @@ public final class DefaultVideoFrameProcessorPixelTest { } @Test - public void scaleToFitTransformation_rotate45_matchesGoldenFile() throws Exception { - String testId = "scaleToFitTransformation_rotate45_matchesGoldenFile"; + public void scaleAndRotateTransformation_rotate45_matchesGoldenFile() throws Exception { + String testId = "scaleAndRotateTransformation_rotate45_matchesGoldenFile"; videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) - .setEffects(new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()) + .setEffects(new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build()) .build(); Bitmap expectedBitmap = readBitmap(ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH); @@ -315,15 +315,15 @@ public final class DefaultVideoFrameProcessorPixelTest { } @Test - public void twoWrappedScaleToFitTransformations_matchesGoldenFile() throws Exception { - String testId = "twoWrappedScaleToFitTransformations_matchesGoldenFile"; + public void twoWrappedScaleAndRotateTransformations_matchesGoldenFile() throws Exception { + String testId = "twoWrappedScaleAndRotateTransformations_matchesGoldenFile"; videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) .setEffects( new GlEffectWrapper( - new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()), + new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build()), new GlEffectWrapper( - new ScaleToFitTransformation.Builder() + new ScaleAndRotateTransformation.Builder() .setScale(/* scaleX= */ 2, /* scaleY= */ 1) .build())) .build(); @@ -510,8 +510,8 @@ public final class DefaultVideoFrameProcessorPixelTest { * Specifies a counter-clockwise rotation while accounting for the aspect ratio difference between * the input frame in pixel coordinates and NDC. * - *

Unlike {@link ScaleToFitTransformation}, this does not adjust the output size or scale to - * preserve input pixels. Pixels rotated out of the frame are clipped. + *

Unlike {@link ScaleAndRotateTransformation}, this does not adjust the output size or scale + * to preserve input pixels. Pixels rotated out of the frame are clipped. */ private static final class Rotation implements MatrixTransformation { diff --git a/library/effect/src/main/java/com/google/android/exoplayer2/effect/FinalMatrixShaderProgramWrapper.java b/library/effect/src/main/java/com/google/android/exoplayer2/effect/FinalMatrixShaderProgramWrapper.java index 9db75ebb6b..fac8c1a738 100644 --- a/library/effect/src/main/java/com/google/android/exoplayer2/effect/FinalMatrixShaderProgramWrapper.java +++ b/library/effect/src/main/java/com/google/android/exoplayer2/effect/FinalMatrixShaderProgramWrapper.java @@ -393,7 +393,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; new ImmutableList.Builder().addAll(matrixTransformations); if (outputSurfaceInfo.orientationDegrees != 0) { matrixTransformationListBuilder.add( - new ScaleToFitTransformation.Builder() + new ScaleAndRotateTransformation.Builder() .setRotationDegrees(outputSurfaceInfo.orientationDegrees) .build()); } diff --git a/library/effect/src/main/java/com/google/android/exoplayer2/effect/ScaleToFitTransformation.java b/library/effect/src/main/java/com/google/android/exoplayer2/effect/ScaleAndRotateTransformation.java similarity index 94% rename from library/effect/src/main/java/com/google/android/exoplayer2/effect/ScaleToFitTransformation.java rename to library/effect/src/main/java/com/google/android/exoplayer2/effect/ScaleAndRotateTransformation.java index ae270963b9..e94fe0d7e1 100644 --- a/library/effect/src/main/java/com/google/android/exoplayer2/effect/ScaleToFitTransformation.java +++ b/library/effect/src/main/java/com/google/android/exoplayer2/effect/ScaleAndRotateTransformation.java @@ -34,9 +34,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * *

The background color of the output frame will be black, with alpha = 0 if applicable. */ -public final class ScaleToFitTransformation implements MatrixTransformation { +public final class ScaleAndRotateTransformation implements MatrixTransformation { - /** A builder for {@link ScaleToFitTransformation} instances. */ + /** A builder for {@link ScaleAndRotateTransformation} instances. */ public static final class Builder { // Optional fields. @@ -85,8 +85,8 @@ public final class ScaleToFitTransformation implements MatrixTransformation { return this; } - public ScaleToFitTransformation build() { - return new ScaleToFitTransformation(scaleX, scaleY, rotationDegrees); + public ScaleAndRotateTransformation build() { + return new ScaleAndRotateTransformation(scaleX, scaleY, rotationDegrees); } } @@ -100,7 +100,7 @@ public final class ScaleToFitTransformation implements MatrixTransformation { * @param scaleY The multiplier by which the frame will scale vertically, along the y-axis. * @param rotationDegrees How much to rotate the frame counterclockwise, in degrees. */ - private ScaleToFitTransformation(float scaleX, float scaleY, float rotationDegrees) { + private ScaleAndRotateTransformation(float scaleX, float scaleY, float rotationDegrees) { transformationMatrix = new Matrix(); transformationMatrix.postScale(scaleX, scaleY); transformationMatrix.postRotate(rotationDegrees); diff --git a/library/effect/src/test/java/com/google/android/exoplayer2/effect/ScaleToFitTransformationTest.java b/library/effect/src/test/java/com/google/android/exoplayer2/effect/ScaleAndRotateTransformationTest.java similarity index 60% rename from library/effect/src/test/java/com/google/android/exoplayer2/effect/ScaleToFitTransformationTest.java rename to library/effect/src/test/java/com/google/android/exoplayer2/effect/ScaleAndRotateTransformationTest.java index 945a40a659..3d9a6df1eb 100644 --- a/library/effect/src/test/java/com/google/android/exoplayer2/effect/ScaleToFitTransformationTest.java +++ b/library/effect/src/test/java/com/google/android/exoplayer2/effect/ScaleAndRotateTransformationTest.java @@ -23,23 +23,23 @@ import org.junit.Test; import org.junit.runner.RunWith; /** - * Unit tests for {@link ScaleToFitTransformation}. + * Unit tests for {@link ScaleAndRotateTransformation}. * *

See {@code MatrixShaderProgramPixelTest} for pixel tests testing {@link MatrixShaderProgram} * given a transformation matrix. */ @RunWith(AndroidJUnit4.class) -public final class ScaleToFitTransformationTest { +public final class ScaleAndRotateTransformationTest { @Test public void configure_noEdits_leavesFramesUnchanged() { int inputWidth = 200; int inputHeight = 150; - ScaleToFitTransformation scaleToFitTransformation = - new ScaleToFitTransformation.Builder().build(); + ScaleAndRotateTransformation scaleAndRotateTransformation = + new ScaleAndRotateTransformation.Builder().build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - boolean isNoOp = scaleToFitTransformation.isNoOp(inputWidth, inputHeight); + Size outputSize = scaleAndRotateTransformation.configure(inputWidth, inputHeight); + boolean isNoOp = scaleAndRotateTransformation.isNoOp(inputWidth, inputHeight); assertThat(isNoOp).isTrue(); assertThat(outputSize.getWidth()).isEqualTo(inputWidth); @@ -50,13 +50,13 @@ public final class ScaleToFitTransformationTest { public void configure_scaleNarrow_decreasesWidth() { int inputWidth = 200; int inputHeight = 150; - ScaleToFitTransformation scaleToFitTransformation = - new ScaleToFitTransformation.Builder() + ScaleAndRotateTransformation scaleAndRotateTransformation = + new ScaleAndRotateTransformation.Builder() .setScale(/* scaleX= */ 0.5f, /* scaleY= */ 1f) .build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - boolean isNoOp = scaleToFitTransformation.isNoOp(inputWidth, inputHeight); + Size outputSize = scaleAndRotateTransformation.configure(inputWidth, inputHeight); + boolean isNoOp = scaleAndRotateTransformation.isNoOp(inputWidth, inputHeight); assertThat(isNoOp).isFalse(); assertThat(outputSize.getWidth()).isEqualTo(Math.round(inputWidth * 0.5f)); @@ -67,11 +67,13 @@ public final class ScaleToFitTransformationTest { public void configure_scaleWide_increasesWidth() { int inputWidth = 200; int inputHeight = 150; - ScaleToFitTransformation scaleToFitTransformation = - new ScaleToFitTransformation.Builder().setScale(/* scaleX= */ 2f, /* scaleY= */ 1f).build(); + ScaleAndRotateTransformation scaleAndRotateTransformation = + new ScaleAndRotateTransformation.Builder() + .setScale(/* scaleX= */ 2f, /* scaleY= */ 1f) + .build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - boolean isNoOp = scaleToFitTransformation.isNoOp(inputWidth, inputHeight); + Size outputSize = scaleAndRotateTransformation.configure(inputWidth, inputHeight); + boolean isNoOp = scaleAndRotateTransformation.isNoOp(inputWidth, inputHeight); assertThat(isNoOp).isFalse(); assertThat(outputSize.getWidth()).isEqualTo(inputWidth * 2); @@ -82,11 +84,13 @@ public final class ScaleToFitTransformationTest { public void configure_scaleTall_increasesHeight() { int inputWidth = 200; int inputHeight = 150; - ScaleToFitTransformation scaleToFitTransformation = - new ScaleToFitTransformation.Builder().setScale(/* scaleX= */ 1f, /* scaleY= */ 2f).build(); + ScaleAndRotateTransformation scaleAndRotateTransformation = + new ScaleAndRotateTransformation.Builder() + .setScale(/* scaleX= */ 1f, /* scaleY= */ 2f) + .build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - boolean isNoOp = scaleToFitTransformation.isNoOp(inputWidth, inputHeight); + Size outputSize = scaleAndRotateTransformation.configure(inputWidth, inputHeight); + boolean isNoOp = scaleAndRotateTransformation.isNoOp(inputWidth, inputHeight); assertThat(isNoOp).isFalse(); assertThat(outputSize.getWidth()).isEqualTo(inputWidth); @@ -97,11 +101,11 @@ public final class ScaleToFitTransformationTest { public void configure_rotate90_swapsDimensions() { int inputWidth = 200; int inputHeight = 150; - ScaleToFitTransformation scaleToFitTransformation = - new ScaleToFitTransformation.Builder().setRotationDegrees(90).build(); + ScaleAndRotateTransformation scaleAndRotateTransformation = + new ScaleAndRotateTransformation.Builder().setRotationDegrees(90).build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - boolean isNoOp = scaleToFitTransformation.isNoOp(inputWidth, inputHeight); + Size outputSize = scaleAndRotateTransformation.configure(inputWidth, inputHeight); + boolean isNoOp = scaleAndRotateTransformation.isNoOp(inputWidth, inputHeight); assertThat(isNoOp).isFalse(); assertThat(outputSize.getWidth()).isEqualTo(inputHeight); @@ -112,12 +116,12 @@ public final class ScaleToFitTransformationTest { public void configure_rotate45_changesDimensions() { int inputWidth = 200; int inputHeight = 150; - ScaleToFitTransformation scaleToFitTransformation = - new ScaleToFitTransformation.Builder().setRotationDegrees(45).build(); + ScaleAndRotateTransformation scaleAndRotateTransformation = + new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build(); long expectedOutputWidthHeight = 247; - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - boolean isNoOp = scaleToFitTransformation.isNoOp(inputWidth, inputHeight); + Size outputSize = scaleAndRotateTransformation.configure(inputWidth, inputHeight); + boolean isNoOp = scaleAndRotateTransformation.isNoOp(inputWidth, inputHeight); assertThat(isNoOp).isFalse(); assertThat(outputSize.getWidth()).isEqualTo(expectedOutputWidthHeight); diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ExportTest.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ExportTest.java index e5af726dc2..f4345cbd8f 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ExportTest.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ExportTest.java @@ -30,7 +30,7 @@ import android.net.Uri; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.MediaItem; -import com.google.android.exoplayer2.effect.ScaleToFitTransformation; +import com.google.android.exoplayer2.effect.ScaleAndRotateTransformation; import com.google.android.exoplayer2.transformer.AndroidTestUtil; import com.google.android.exoplayer2.transformer.AndroidTestUtil.ForceEncodeEncoderFactory; import com.google.android.exoplayer2.transformer.DefaultEncoderFactory; @@ -244,7 +244,7 @@ public class ExportTest { MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()); + ImmutableList.of(new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/HdrEditingTest.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/HdrEditingTest.java index 600ddb24a6..2cb540fd98 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/HdrEditingTest.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/HdrEditingTest.java @@ -30,7 +30,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.MediaItem; -import com.google.android.exoplayer2.effect.ScaleToFitTransformation; +import com.google.android.exoplayer2.effect.ScaleAndRotateTransformation; import com.google.android.exoplayer2.transformer.EditedMediaItem; import com.google.android.exoplayer2.transformer.Effects; import com.google.android.exoplayer2.transformer.EncoderUtil; @@ -130,7 +130,8 @@ public class HdrEditingTest { Transformer transformer = new Transformer.Builder(context).build(); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_4_SECOND_HDR10)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(180).build()); + ImmutableList.of( + new ScaleAndRotateTransformation.Builder().setRotationDegrees(180).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); @@ -154,7 +155,8 @@ public class HdrEditingTest { Transformer transformer = new Transformer.Builder(context).build(); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(180).build()); + ImmutableList.of( + new ScaleAndRotateTransformation.Builder().setRotationDegrees(180).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); @@ -198,7 +200,8 @@ public class HdrEditingTest { .build(); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_4_SECOND_HDR10)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(180).build()); + ImmutableList.of( + new ScaleAndRotateTransformation.Builder().setRotationDegrees(180).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); @@ -252,7 +255,8 @@ public class HdrEditingTest { .build(); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(180).build()); + ImmutableList.of( + new ScaleAndRotateTransformation.Builder().setRotationDegrees(180).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/RepeatedTranscodeTest.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/RepeatedTranscodeTest.java index 0c46fc8400..79c10e12c5 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/RepeatedTranscodeTest.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/RepeatedTranscodeTest.java @@ -23,7 +23,7 @@ import android.net.Uri; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.MediaItem; -import com.google.android.exoplayer2.effect.ScaleToFitTransformation; +import com.google.android.exoplayer2.effect.ScaleAndRotateTransformation; import com.google.android.exoplayer2.transformer.AndroidTestUtil; import com.google.android.exoplayer2.transformer.EditedMediaItem; import com.google.android.exoplayer2.transformer.Effects; @@ -57,7 +57,7 @@ public final class RepeatedTranscodeTest { MediaItem mediaItem = MediaItem.fromUri(Uri.parse(AndroidTestUtil.MP4_REMOTE_10_SECONDS_URI_STRING)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()); + ImmutableList.of(new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); @@ -90,7 +90,7 @@ public final class RepeatedTranscodeTest { MediaItem mediaItem = MediaItem.fromUri(Uri.parse(AndroidTestUtil.MP4_REMOTE_10_SECONDS_URI_STRING)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()); + ImmutableList.of(new ScaleAndRotateTransformation.Builder().setRotationDegrees(45).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).setEffects(effects).build(); diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java index 4fcfd5db63..2476e9e212 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java @@ -27,7 +27,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.MediaItem; -import com.google.android.exoplayer2.effect.ScaleToFitTransformation; +import com.google.android.exoplayer2.effect.ScaleAndRotateTransformation; import com.google.android.exoplayer2.transformer.EditedMediaItem; import com.google.android.exoplayer2.transformer.Effects; import com.google.android.exoplayer2.transformer.ExportException; @@ -161,7 +161,8 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { .build(); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_4_SECOND_HDR10)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(180).build()); + ImmutableList.of( + new ScaleAndRotateTransformation.Builder().setRotationDegrees(180).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); @@ -208,7 +209,8 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { .build(); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10)); ImmutableList videoEffects = - ImmutableList.of(new ScaleToFitTransformation.Builder().setRotationDegrees(180).build()); + ImmutableList.of( + new ScaleAndRotateTransformation.Builder().setRotationDegrees(180).build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); diff --git a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java index 91e2bbd984..481dd99a65 100644 --- a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java +++ b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java @@ -50,7 +50,7 @@ import com.google.android.exoplayer2.audio.AudioProcessor; import com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor; import com.google.android.exoplayer2.audio.SonicAudioProcessor; import com.google.android.exoplayer2.effect.Presentation; -import com.google.android.exoplayer2.effect.ScaleToFitTransformation; +import com.google.android.exoplayer2.effect.ScaleAndRotateTransformation; import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; import com.google.android.exoplayer2.extractor.Extractor; import com.google.android.exoplayer2.extractor.ExtractorInput; @@ -965,7 +965,7 @@ public final class TransformerEndToEndTest { ImmutableList videoEffects = ImmutableList.of( Presentation.createForHeight(mediaItemHeightPixels), - new ScaleToFitTransformation.Builder().build()); + new ScaleAndRotateTransformation.Builder().build()); Effects effects = new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build();