Commit 30189f70 by claincly Committed by Ian Baker

Move a commonly used encoder factory mode to util.

The encoder factory will be used in other tests.

PiperOrigin-RevId: 438552381
parent 57a937d7
...@@ -19,9 +19,11 @@ import static com.google.android.exoplayer2.util.Assertions.checkState; ...@@ -19,9 +19,11 @@ import static com.google.android.exoplayer2.util.Assertions.checkState;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.Log;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
...@@ -49,6 +51,34 @@ public final class AndroidTestUtil { ...@@ -49,6 +51,34 @@ public final class AndroidTestUtil {
} }
/** /**
* 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<String> allowedMimeTypes)
throws TransformationException {
return Codec.EncoderFactory.DEFAULT.createForAudioEncoding(format, allowedMimeTypes);
}
@Override
public Codec createForVideoEncoding(Format format, List<String> 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 * Returns a {@link JSONObject} containing device specific details from {@link Build}, including
* manufacturer, model, SDK version and build fingerprint. * manufacturer, model, SDK version and build fingerprint.
*/ */
......
...@@ -23,18 +23,15 @@ import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_REMO ...@@ -23,18 +23,15 @@ import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_REMO
import android.content.Context; import android.content.Context;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.transformer.AndroidTestUtil;
import com.google.android.exoplayer2.transformer.Codec;
import com.google.android.exoplayer2.transformer.DefaultEncoderFactory; import com.google.android.exoplayer2.transformer.DefaultEncoderFactory;
import com.google.android.exoplayer2.transformer.EncoderSelector; 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.TransformationRequest;
import com.google.android.exoplayer2.transformer.Transformer; import com.google.android.exoplayer2.transformer.Transformer;
import com.google.android.exoplayer2.transformer.TransformerAndroidTestRunner; import com.google.android.exoplayer2.transformer.TransformerAndroidTestRunner;
import com.google.android.exoplayer2.transformer.VideoEncoderSettings; import com.google.android.exoplayer2.transformer.VideoEncoderSettings;
import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.Log;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.List;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -61,32 +58,7 @@ public class TransformationTest { ...@@ -61,32 +58,7 @@ public class TransformationTest {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setEncoderFactory( .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY)
new Codec.EncoderFactory() {
@Override
public Codec createForAudioEncoding(Format format, List<String> allowedMimeTypes)
throws TransformationException {
return Codec.EncoderFactory.DEFAULT.createForAudioEncoding(
format, allowedMimeTypes);
}
@Override
public Codec createForVideoEncoding(Format format, List<String> allowedMimeTypes)
throws TransformationException {
return Codec.EncoderFactory.DEFAULT.createForVideoEncoding(
format, allowedMimeTypes);
}
@Override
public boolean audioNeedsEncoding() {
return true;
}
@Override
public boolean videoNeedsEncoding() {
return true;
}
})
.build(); .build();
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.setCalculateSsim(true) .setCalculateSsim(true)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment