mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Move a commonly used encoder factory mode to util.
The encoder factory will be used in other tests. PiperOrigin-RevId: 438552381
This commit is contained in:
parent
57a937d72a
commit
30189f70df
@ -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;
|
||||||
|
|
||||||
@ -48,6 +50,34 @@ public final class AndroidTestUtil {
|
|||||||
return file;
|
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<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
|
|||||||
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 {
|
|||||||
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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user