mirror of
https://github.com/samsonjs/media.git
synced 2026-04-05 11:15:46 +00:00
Add enable fallback option to transformer demo.
Also invert disableFallback parameter in DefaultEncoderFactory to enableFallback. Fallback is still enabled by default. PiperOrigin-RevId: 429253266
This commit is contained in:
parent
3400736472
commit
5b8c4e09e0
7 changed files with 67 additions and 45 deletions
|
|
@ -54,6 +54,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||
public static final String SCALE_X = "scale_x";
|
||||
public static final String SCALE_Y = "scale_y";
|
||||
public static final String ROTATE_DEGREES = "rotate_degrees";
|
||||
public static final String ENABLE_FALLBACK = "enable_fallback";
|
||||
public static final String ENABLE_HDR_EDITING = "enable_hdr_editing";
|
||||
private static final String[] INPUT_URIS = {
|
||||
"https://html5demos.com/assets/dizzy.mp4",
|
||||
|
|
@ -80,6 +81,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||
private @MonotonicNonNull Spinner translateSpinner;
|
||||
private @MonotonicNonNull Spinner scaleSpinner;
|
||||
private @MonotonicNonNull Spinner rotateSpinner;
|
||||
private @MonotonicNonNull CheckBox enableFallbackCheckBox;
|
||||
private @MonotonicNonNull CheckBox enableHdrEditingCheckBox;
|
||||
private int inputUriPosition;
|
||||
|
||||
|
|
@ -154,6 +156,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||
rotateSpinner.setAdapter(rotateAdapter);
|
||||
rotateAdapter.addAll(SAME_AS_INPUT_OPTION, "0", "10", "45", "60", "90", "180");
|
||||
|
||||
enableFallbackCheckBox = findViewById(R.id.enable_fallback_checkbox);
|
||||
enableHdrEditingCheckBox = findViewById(R.id.hdr_editing_checkbox);
|
||||
}
|
||||
|
||||
|
|
@ -183,6 +186,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||
"translateSpinner",
|
||||
"scaleSpinner",
|
||||
"rotateSpinner",
|
||||
"enableFallbackCheckBox",
|
||||
"enableHdrEditingCheckBox"
|
||||
})
|
||||
private void startTransformation(View view) {
|
||||
|
|
@ -221,6 +225,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||
if (!SAME_AS_INPUT_OPTION.equals(selectedRotate)) {
|
||||
bundle.putFloat(ROTATE_DEGREES, Float.parseFloat(selectedRotate));
|
||||
}
|
||||
bundle.putBoolean(ENABLE_FALLBACK, enableFallbackCheckBox.isChecked());
|
||||
bundle.putBoolean(ENABLE_HDR_EDITING, enableHdrEditingCheckBox.isChecked());
|
||||
transformerIntent.putExtras(bundle);
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.MediaItem;
|
||||
import com.google.android.exoplayer2.transformer.DefaultEncoderFactory;
|
||||
import com.google.android.exoplayer2.transformer.EncoderSelector;
|
||||
import com.google.android.exoplayer2.transformer.ProgressHolder;
|
||||
import com.google.android.exoplayer2.transformer.TransformationException;
|
||||
import com.google.android.exoplayer2.transformer.TransformationRequest;
|
||||
|
|
@ -224,7 +226,11 @@ public final class TransformerActivity extends AppCompatActivity {
|
|||
transformerBuilder
|
||||
.setTransformationRequest(requestBuilder.build())
|
||||
.setRemoveAudio(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_AUDIO))
|
||||
.setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO));
|
||||
.setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO))
|
||||
.setEncoderFactory(
|
||||
new DefaultEncoderFactory(
|
||||
EncoderSelector.DEFAULT,
|
||||
/* enableFallback= */ bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK)));
|
||||
}
|
||||
return transformerBuilder
|
||||
.addListener(
|
||||
|
|
|
|||
|
|
@ -170,6 +170,16 @@
|
|||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:text="@string/enable_fallback" />
|
||||
<CheckBox
|
||||
android:id="@+id/enable_fallback_checkbox"
|
||||
android:layout_gravity="right"
|
||||
android:checked="true"/>
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
<string name="translate" translatable="false">Translate video</string>
|
||||
<string name="scale" translatable="false">Scale video</string>
|
||||
<string name="rotate" translatable="false">Rotate video (degrees)</string>
|
||||
<string name="enable_fallback" translatable="false">Enable fallback</string>
|
||||
<string name="transform" translatable="false">Transform</string>
|
||||
<string name="hdr_editing" translatable="false">[Experimental] HDR editing</string>
|
||||
<string name="debug_preview" translatable="false">Debug preview:</string>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public class TransformerEndToEndTest {
|
|||
new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build())
|
||||
.setMuxerFactory(muxerFactory)
|
||||
.setEncoderFactory(
|
||||
new DefaultEncoderFactory(EncoderSelector.DEFAULT, /* disableFallback= */ true))
|
||||
new DefaultEncoderFactory(EncoderSelector.DEFAULT, /* enableFallback= */ false))
|
||||
.build();
|
||||
// Result of the following command:
|
||||
// ffprobe -count_frames -select_streams v:0 -show_entries stream=nb_read_frames bear-vp9.webm
|
||||
|
|
@ -81,7 +81,7 @@ public class TransformerEndToEndTest {
|
|||
.build())
|
||||
.setMuxerFactory(muxerFactory)
|
||||
.setEncoderFactory(
|
||||
new DefaultEncoderFactory(EncoderSelector.DEFAULT, /* disableFallback= */ true))
|
||||
new DefaultEncoderFactory(EncoderSelector.DEFAULT, /* enableFallback= */ false))
|
||||
.build();
|
||||
// Result of the following command:
|
||||
// ffprobe -count_frames -select_streams v:0 -show_entries stream=nb_read_frames sample.mp4
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
|
|||
private static final int DEFAULT_I_FRAME_INTERVAL_SECS = 1;
|
||||
|
||||
@Nullable private final EncoderSelector videoEncoderSelector;
|
||||
private final boolean disableFallback;
|
||||
private final boolean enableFallback;
|
||||
|
||||
/**
|
||||
* Creates a new instance using the {@link EncoderSelector#DEFAULT default encoder selector}, and
|
||||
|
|
@ -56,14 +56,14 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
|
|||
* type}, resolution, {@link Format#bitrate bitrate}, {@link Format#codecs profile/level}, etc.
|
||||
*/
|
||||
public DefaultEncoderFactory() {
|
||||
this(EncoderSelector.DEFAULT, /* disableFallback= */ false);
|
||||
this(EncoderSelector.DEFAULT, /* enableFallback= */ true);
|
||||
}
|
||||
|
||||
/** Creates a new instance. */
|
||||
public DefaultEncoderFactory(
|
||||
@Nullable EncoderSelector videoEncoderSelector, boolean disableFallback) {
|
||||
@Nullable EncoderSelector videoEncoderSelector, boolean enableFallback) {
|
||||
this.videoEncoderSelector = videoEncoderSelector;
|
||||
this.disableFallback = disableFallback;
|
||||
this.enableFallback = enableFallback;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -72,7 +72,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
|
|||
// TODO(b/210591626) Add encoder selection for audio.
|
||||
checkArgument(!allowedMimeTypes.isEmpty());
|
||||
if (!allowedMimeTypes.contains(format.sampleMimeType)) {
|
||||
if (!disableFallback) {
|
||||
if (enableFallback) {
|
||||
// TODO(b/210591626): Pick fallback MIME type using same strategy as for encoder
|
||||
// capabilities limitations.
|
||||
format = format.buildUpon().setSampleMimeType(allowedMimeTypes.get(0)).build();
|
||||
|
|
@ -115,7 +115,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
|
|||
@Nullable
|
||||
Pair<MediaCodecInfo, Format> encoderAndClosestFormatSupport =
|
||||
findEncoderWithClosestFormatSupport(
|
||||
format, videoEncoderSelector, allowedMimeTypes, disableFallback);
|
||||
format, videoEncoderSelector, allowedMimeTypes, enableFallback);
|
||||
if (encoderAndClosestFormatSupport == null) {
|
||||
throw TransformationException.createForCodec(
|
||||
new IllegalArgumentException("The requested output format is not supported."),
|
||||
|
|
@ -211,11 +211,11 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
|
|||
Format requestedFormat,
|
||||
EncoderSelector encoderSelector,
|
||||
List<String> allowedMimeTypes,
|
||||
boolean disableFallback) {
|
||||
boolean enableFallback) {
|
||||
String requestedMimeType = requestedFormat.sampleMimeType;
|
||||
@Nullable
|
||||
String mimeType = findFallbackMimeType(encoderSelector, requestedMimeType, allowedMimeTypes);
|
||||
if (mimeType == null || (disableFallback && !requestedMimeType.equals(mimeType))) {
|
||||
if (mimeType == null || (!enableFallback && !requestedMimeType.equals(mimeType))) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
@ -223,7 +223,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
|
|||
if (encodersForMimeType.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
if (disableFallback) {
|
||||
if (!enableFallback) {
|
||||
return Pair.create(encodersForMimeType.get(0), requestedFormat);
|
||||
}
|
||||
ImmutableList<MediaCodecInfo> filteredEncoders =
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_videoOnlyPassthrough_completesSuccessfully() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -116,7 +116,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_audioOnlyPassthrough_completesSuccessfully() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_ENCODER);
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_audioOnlyTranscoding_completesSuccessfully() throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.setTransformationRequest(
|
||||
new TransformationRequest.Builder()
|
||||
.setAudioMimeType(MimeTypes.AUDIO_AAC) // supported by encoder and muxer
|
||||
|
|
@ -147,7 +147,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_audioAndVideo_completesSuccessfully() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -159,7 +159,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_withSubtitles_completesSuccessfully() throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.setTransformationRequest(
|
||||
new TransformationRequest.Builder().setAudioMimeType(MimeTypes.AUDIO_AAC).build())
|
||||
.build();
|
||||
|
|
@ -174,7 +174,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_successiveTransformations_completesSuccessfully()
|
||||
throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
|
||||
// Transform first media item.
|
||||
|
|
@ -191,7 +191,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_concurrentTransformations_throwsError() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -203,7 +203,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_removeAudio_completesSuccessfully() throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true).setRemoveAudio(true).build();
|
||||
createTransformerBuilder(/* enableFallback= */ false).setRemoveAudio(true).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -216,7 +216,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_removeVideo_completesSuccessfully() throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true).setRemoveVideo(true).build();
|
||||
createTransformerBuilder(/* enableFallback= */ false).setRemoveVideo(true).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -232,7 +232,7 @@ public final class TransformerEndToEndTest {
|
|||
Transformer.Listener mockListener2 = mock(Transformer.Listener.class);
|
||||
Transformer.Listener mockListener3 = mock(Transformer.Listener.class);
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.addListener(mockListener1)
|
||||
.addListener(mockListener2)
|
||||
.addListener(mockListener3)
|
||||
|
|
@ -253,7 +253,7 @@ public final class TransformerEndToEndTest {
|
|||
Transformer.Listener mockListener2 = mock(Transformer.Listener.class);
|
||||
Transformer.Listener mockListener3 = mock(Transformer.Listener.class);
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.addListener(mockListener1)
|
||||
.addListener(mockListener2)
|
||||
.addListener(mockListener3)
|
||||
|
|
@ -280,7 +280,7 @@ public final class TransformerEndToEndTest {
|
|||
TransformationRequest fallbackTransformationRequest =
|
||||
new TransformationRequest.Builder().setAudioMimeType(MimeTypes.AUDIO_AAC).build();
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ false)
|
||||
createTransformerBuilder(/* enableFallback= */ true)
|
||||
.addListener(mockListener1)
|
||||
.addListener(mockListener2)
|
||||
.addListener(mockListener3)
|
||||
|
|
@ -305,7 +305,7 @@ public final class TransformerEndToEndTest {
|
|||
Transformer.Listener mockListener2 = mock(Transformer.Listener.class);
|
||||
Transformer.Listener mockListener3 = mock(Transformer.Listener.class);
|
||||
Transformer transformer1 =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.addListener(mockListener1)
|
||||
.addListener(mockListener2)
|
||||
.addListener(mockListener3)
|
||||
|
|
@ -324,7 +324,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_flattenForSlowMotion_completesSuccessfully() throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.setTransformationRequest(
|
||||
new TransformationRequest.Builder().setFlattenForSlowMotion(true).build())
|
||||
.build();
|
||||
|
|
@ -348,7 +348,7 @@ public final class TransformerEndToEndTest {
|
|||
}
|
||||
};
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true).addListener(listener).build();
|
||||
createTransformerBuilder(/* enableFallback= */ false).addListener(listener).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -364,7 +364,7 @@ public final class TransformerEndToEndTest {
|
|||
public void startTransformation_withAudioEncoderFormatUnsupported_completesWithError()
|
||||
throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.setTransformationRequest(
|
||||
new TransformationRequest.Builder()
|
||||
.setAudioMimeType(
|
||||
|
|
@ -385,7 +385,7 @@ public final class TransformerEndToEndTest {
|
|||
public void startTransformation_withAudioDecoderFormatUnsupported_completesWithError()
|
||||
throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.setTransformationRequest(
|
||||
new TransformationRequest.Builder()
|
||||
.setAudioMimeType(MimeTypes.AUDIO_AAC) // supported by encoder and muxer
|
||||
|
|
@ -405,7 +405,7 @@ public final class TransformerEndToEndTest {
|
|||
public void startTransformation_withVideoEncoderFormatUnsupported_completesWithError()
|
||||
throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true)
|
||||
createTransformerBuilder(/* enableFallback= */ false)
|
||||
.setTransformationRequest(
|
||||
new TransformationRequest.Builder()
|
||||
.setVideoMimeType(MimeTypes.VIDEO_H263) // unsupported encoder MIME type
|
||||
|
|
@ -423,7 +423,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_withIoError_completesWithError() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri("asset:///non-existing-path.mp4");
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -436,7 +436,7 @@ public final class TransformerEndToEndTest {
|
|||
@Test
|
||||
public void startTransformation_withAudioMuxerFormatUnsupported_completesWithError()
|
||||
throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_MUXER);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -457,7 +457,7 @@ public final class TransformerEndToEndTest {
|
|||
TransformationRequest fallbackTransformationRequest =
|
||||
new TransformationRequest.Builder().setAudioMimeType(MimeTypes.AUDIO_AAC).build();
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ false).addListener(mockListener).build();
|
||||
createTransformerBuilder(/* enableFallback= */ true).addListener(mockListener).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_MUXER);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -471,7 +471,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_afterCancellation_completesSuccessfully() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -491,7 +491,7 @@ public final class TransformerEndToEndTest {
|
|||
anotherThread.start();
|
||||
Looper looper = anotherThread.getLooper();
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(/* disableFallback= */ true).setLooper(looper).build();
|
||||
createTransformerBuilder(/* enableFallback= */ false).setLooper(looper).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
AtomicReference<Exception> exception = new AtomicReference<>();
|
||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
|
|
@ -516,7 +516,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void startTransformation_fromWrongThread_throwsError() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_VIDEO);
|
||||
HandlerThread anotherThread = new HandlerThread("AnotherThread");
|
||||
AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>();
|
||||
|
|
@ -543,7 +543,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void getProgress_knownDuration_returnsConsistentStates() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
|
||||
AtomicInteger previousProgressState =
|
||||
new AtomicInteger(PROGRESS_STATE_WAITING_FOR_AVAILABILITY);
|
||||
|
|
@ -589,7 +589,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void getProgress_knownDuration_givesIncreasingPercentages() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
|
||||
List<Integer> progresses = new ArrayList<>();
|
||||
Handler progressHandler =
|
||||
|
|
@ -624,7 +624,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void getProgress_noCurrentTransformation_returnsNoTransformation() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
|
||||
|
||||
@Transformer.ProgressState int stateBeforeTransform = transformer.getProgress(progressHolder);
|
||||
|
|
@ -638,7 +638,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void getProgress_unknownDuration_returnsConsistentStates() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_UNKNOWN_DURATION);
|
||||
AtomicInteger previousProgressState =
|
||||
new AtomicInteger(PROGRESS_STATE_WAITING_FOR_AVAILABILITY);
|
||||
|
|
@ -681,7 +681,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void getProgress_fromWrongThread_throwsError() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
HandlerThread anotherThread = new HandlerThread("AnotherThread");
|
||||
AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>();
|
||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
|
|
@ -705,7 +705,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void cancel_afterCompletion_doesNotThrow() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
|
||||
|
||||
transformer.startTransformation(mediaItem, outputPath);
|
||||
|
|
@ -715,7 +715,7 @@ public final class TransformerEndToEndTest {
|
|||
|
||||
@Test
|
||||
public void cancel_fromWrongThread_throwsError() throws Exception {
|
||||
Transformer transformer = createTransformerBuilder(/* disableFallback= */ true).build();
|
||||
Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build();
|
||||
HandlerThread anotherThread = new HandlerThread("AnotherThread");
|
||||
AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>();
|
||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
|
|
@ -737,11 +737,11 @@ public final class TransformerEndToEndTest {
|
|||
assertThat(illegalStateException.get()).isNotNull();
|
||||
}
|
||||
|
||||
private Transformer.Builder createTransformerBuilder(boolean disableFallback) {
|
||||
private Transformer.Builder createTransformerBuilder(boolean enableFallback) {
|
||||
return new Transformer.Builder(context)
|
||||
.setClock(clock)
|
||||
.setMuxerFactory(new TestMuxerFactory())
|
||||
.setEncoderFactory(new DefaultEncoderFactory(EncoderSelector.DEFAULT, disableFallback));
|
||||
.setEncoderFactory(new DefaultEncoderFactory(EncoderSelector.DEFAULT, enableFallback));
|
||||
}
|
||||
|
||||
private static void createEncodersAndDecoders() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue