diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java index 9be6f8cc9c..206687d246 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java @@ -19,9 +19,11 @@ import static com.google.android.exoplayer2.util.Assertions.checkState; import android.content.Context; import android.os.Build; +import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.util.Log; import java.io.File; import java.io.IOException; +import java.util.List; import org.json.JSONException; import org.json.JSONObject; @@ -48,6 +50,34 @@ public final class AndroidTestUtil { return file; } + /** + * A {@link Codec.EncoderFactory} that forces encoding, wrapping {@link DefaultEncoderFactory}. + */ + public static final Codec.EncoderFactory FORCE_ENCODE_ENCODER_FACTORY = + new Codec.EncoderFactory() { + @Override + public Codec createForAudioEncoding(Format format, List allowedMimeTypes) + throws TransformationException { + return Codec.EncoderFactory.DEFAULT.createForAudioEncoding(format, allowedMimeTypes); + } + + @Override + public Codec createForVideoEncoding(Format format, List allowedMimeTypes) + throws TransformationException { + return Codec.EncoderFactory.DEFAULT.createForVideoEncoding(format, allowedMimeTypes); + } + + @Override + public boolean audioNeedsEncoding() { + return true; + } + + @Override + public boolean videoNeedsEncoding() { + return true; + } + }; + /** * Returns a {@link JSONObject} containing device specific details from {@link Build}, including * manufacturer, model, SDK version and build fingerprint. diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java index 1ddc6ad724..51ea018124 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java @@ -23,18 +23,15 @@ import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_REMO import android.content.Context; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.android.exoplayer2.Format; -import com.google.android.exoplayer2.transformer.Codec; +import com.google.android.exoplayer2.transformer.AndroidTestUtil; import com.google.android.exoplayer2.transformer.DefaultEncoderFactory; import com.google.android.exoplayer2.transformer.EncoderSelector; -import com.google.android.exoplayer2.transformer.TransformationException; import com.google.android.exoplayer2.transformer.TransformationRequest; import com.google.android.exoplayer2.transformer.Transformer; import com.google.android.exoplayer2.transformer.TransformerAndroidTestRunner; import com.google.android.exoplayer2.transformer.VideoEncoderSettings; import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.Util; -import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; @@ -61,32 +58,7 @@ public class TransformationTest { Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) - .setEncoderFactory( - new Codec.EncoderFactory() { - @Override - public Codec createForAudioEncoding(Format format, List allowedMimeTypes) - throws TransformationException { - return Codec.EncoderFactory.DEFAULT.createForAudioEncoding( - format, allowedMimeTypes); - } - - @Override - public Codec createForVideoEncoding(Format format, List allowedMimeTypes) - throws TransformationException { - return Codec.EncoderFactory.DEFAULT.createForVideoEncoding( - format, allowedMimeTypes); - } - - @Override - public boolean audioNeedsEncoding() { - return true; - } - - @Override - public boolean videoNeedsEncoding() { - return true; - } - }) + .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setCalculateSsim(true)