Commit 0fbd4959 by huangdarwin Committed by kim-vde

Transformer: Move required Builder context to be a constructor arg.

Deprecates setContext() and moves the required Context arg into the constructor.

This way, the parameter can later be final and non-null, per the comment at:
http://go/https://github.com/google/ExoPlayer/commit/ecb47ba5647a7622fc73c09ac37f4e8b3b450cec/depot/google3/third_party/java_src/android_libs/media/libraries/transformer/src/main/java/androidx/media3/transformer/TranscodingTransformer.java?left=s19&right=r12#97L

Also, fixes setOutputMimeType_unsupportedMimeType_throws by providing a context
in the builder, and updating the FrameworkMuxer#supportsOutputMimeType to catch
IllegalArgumentExceptions thrown by FrameworkMuxer#mimeTypeToMuxerOutputFormat.

PiperOrigin-RevId: 412053564
parent f790d105
...@@ -32,8 +32,7 @@ transformation that removes the audio track from the input: ...@@ -32,8 +32,7 @@ transformation that removes the audio track from the input:
~~~ ~~~
// Configure and create a Transformer instance. // Configure and create a Transformer instance.
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setRemoveAudio(true) .setRemoveAudio(true)
.setListener(transformerListener) .setListener(transformerListener)
.build(); .build();
...@@ -120,8 +119,7 @@ method. ...@@ -120,8 +119,7 @@ method.
~~~ ~~~
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setFlattenForSlowMotion(true) .setFlattenForSlowMotion(true)
.setListener(transformerListener) .setListener(transformerListener)
.build(); .build();
......
...@@ -30,8 +30,7 @@ public class RemoveAudioTransformationTest { ...@@ -30,8 +30,7 @@ public class RemoveAudioTransformationTest {
@Test @Test
public void removeAudioTransform() throws Exception { public void removeAudioTransform() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = Transformer transformer = new Transformer.Builder(context).setRemoveAudio(true).build();
new Transformer.Builder().setContext(context).setRemoveAudio(true).build();
runTransformer(context, transformer, MP4_ASSET_URI_STRING, /* timeoutSeconds= */ 120); runTransformer(context, transformer, MP4_ASSET_URI_STRING, /* timeoutSeconds= */ 120);
} }
} }
...@@ -30,8 +30,7 @@ public class RemoveVideoTransformationTest { ...@@ -30,8 +30,7 @@ public class RemoveVideoTransformationTest {
@Test @Test
public void removeVideoTransform() throws Exception { public void removeVideoTransform() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = Transformer transformer = new Transformer.Builder(context).setRemoveVideo(true).build();
new Transformer.Builder().setContext(context).setRemoveVideo(true).build();
runTransformer(context, transformer, MP4_ASSET_URI_STRING, /* timeoutSeconds= */ 120); runTransformer(context, transformer, MP4_ASSET_URI_STRING, /* timeoutSeconds= */ 120);
} }
} }
...@@ -39,8 +39,7 @@ public final class RepeatedTranscodeTransformationTest { ...@@ -39,8 +39,7 @@ public final class RepeatedTranscodeTransformationTest {
public void repeatedTranscode_givesConsistentLengthOutput() throws Exception { public void repeatedTranscode_givesConsistentLengthOutput() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setVideoMimeType(MimeTypes.VIDEO_H265) .setVideoMimeType(MimeTypes.VIDEO_H265)
.setAudioMimeType(MimeTypes.AUDIO_AMR_NB) .setAudioMimeType(MimeTypes.AUDIO_AMR_NB)
.build(); .build();
...@@ -67,8 +66,7 @@ public final class RepeatedTranscodeTransformationTest { ...@@ -67,8 +66,7 @@ public final class RepeatedTranscodeTransformationTest {
public void repeatedTranscodeNoAudio_givesConsistentLengthOutput() throws Exception { public void repeatedTranscodeNoAudio_givesConsistentLengthOutput() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setVideoMimeType(MimeTypes.VIDEO_H265) .setVideoMimeType(MimeTypes.VIDEO_H265)
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
...@@ -95,8 +93,7 @@ public final class RepeatedTranscodeTransformationTest { ...@@ -95,8 +93,7 @@ public final class RepeatedTranscodeTransformationTest {
public void repeatedTranscodeNoVideo_givesConsistentLengthOutput() throws Exception { public void repeatedTranscodeNoVideo_givesConsistentLengthOutput() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transcodingTransformer = Transformer transcodingTransformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setAudioMimeType(MimeTypes.AUDIO_AMR_NB) .setAudioMimeType(MimeTypes.AUDIO_AMR_NB)
.setRemoveVideo(true) .setRemoveVideo(true)
.build(); .build();
......
...@@ -31,7 +31,7 @@ public class SefTransformationTest { ...@@ -31,7 +31,7 @@ public class SefTransformationTest {
public void sefTransform() throws Exception { public void sefTransform() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = Transformer transformer =
new Transformer.Builder().setContext(context).setFlattenForSlowMotion(true).build(); new Transformer.Builder(context).setFlattenForSlowMotion(true).build();
runTransformer(context, transformer, SEF_ASSET_URI_STRING, /* timeoutSeconds= */ 120); runTransformer(context, transformer, SEF_ASSET_URI_STRING, /* timeoutSeconds= */ 120);
} }
} }
...@@ -30,7 +30,7 @@ public class TransformationTest { ...@@ -30,7 +30,7 @@ public class TransformationTest {
@Test @Test
public void transform() throws Exception { public void transform() throws Exception {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
Transformer transformer = new Transformer.Builder().setContext(context).build(); Transformer transformer = new Transformer.Builder(context).build();
runTransformer(context, transformer, MP4_ASSET_URI_STRING, /* timeoutSeconds= */ 120); runTransformer(context, transformer, MP4_ASSET_URI_STRING, /* timeoutSeconds= */ 120);
} }
} }
...@@ -61,7 +61,7 @@ import java.nio.ByteBuffer; ...@@ -61,7 +61,7 @@ import java.nio.ByteBuffer;
public boolean supportsOutputMimeType(String mimeType) { public boolean supportsOutputMimeType(String mimeType) {
try { try {
mimeTypeToMuxerOutputFormat(mimeType); mimeTypeToMuxerOutputFormat(mimeType);
} catch (IllegalStateException e) { } catch (IllegalArgumentException e) {
return false; return false;
} }
return true; return true;
......
...@@ -22,7 +22,6 @@ import static com.google.android.exoplayer2.DefaultLoadControl.DEFAULT_MAX_BUFFE ...@@ -22,7 +22,6 @@ import static com.google.android.exoplayer2.DefaultLoadControl.DEFAULT_MAX_BUFFE
import static com.google.android.exoplayer2.DefaultLoadControl.DEFAULT_MIN_BUFFER_MS; import static com.google.android.exoplayer2.DefaultLoadControl.DEFAULT_MIN_BUFFER_MS;
import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
import static com.google.android.exoplayer2.util.Assertions.checkState; import static com.google.android.exoplayer2.util.Assertions.checkState;
import static com.google.android.exoplayer2.util.Assertions.checkStateNotNull;
import static java.lang.Math.min; import static java.lang.Math.min;
import android.content.Context; import android.content.Context;
...@@ -90,6 +89,8 @@ public final class Transformer { ...@@ -90,6 +89,8 @@ public final class Transformer {
public static final class Builder { public static final class Builder {
// Mandatory field. // Mandatory field.
// TODO(huangdarwin): Update @MonotonicNonNull to final after deprecated {@link
// #setContext(Context)} is removed.
private @MonotonicNonNull Context context; private @MonotonicNonNull Context context;
// Optional fields. // Optional fields.
...@@ -106,7 +107,12 @@ public final class Transformer { ...@@ -106,7 +107,12 @@ public final class Transformer {
private Looper looper; private Looper looper;
private Clock clock; private Clock clock;
/** Creates a builder with default values. */ /**
* Creates a builder with default values.
*
* @deprecated Use {@link #Builder(Context)} instead.
*/
@Deprecated
public Builder() { public Builder() {
muxerFactory = new FrameworkMuxer.Factory(); muxerFactory = new FrameworkMuxer.Factory();
outputHeight = Transformation.NO_VALUE; outputHeight = Transformation.NO_VALUE;
...@@ -116,6 +122,22 @@ public final class Transformer { ...@@ -116,6 +122,22 @@ public final class Transformer {
clock = Clock.DEFAULT; clock = Clock.DEFAULT;
} }
/**
* Creates a builder with default values.
*
* @param context The {@link Context}.
* @throws NullPointerException If the {@link Context} has not been provided.
*/
public Builder(Context context) {
this.context = context.getApplicationContext();
muxerFactory = new FrameworkMuxer.Factory();
outputHeight = Transformation.NO_VALUE;
containerMimeType = MimeTypes.VIDEO_MP4;
listener = new Listener() {};
looper = Util.getCurrentOrMainLooper();
clock = Clock.DEFAULT;
}
/** Creates a builder with the values of the provided {@link Transformer}. */ /** Creates a builder with the values of the provided {@link Transformer}. */
private Builder(Transformer transformer) { private Builder(Transformer transformer) {
this.context = transformer.context; this.context = transformer.context;
...@@ -140,7 +162,9 @@ public final class Transformer { ...@@ -140,7 +162,9 @@ public final class Transformer {
* *
* @param context The {@link Context}. * @param context The {@link Context}.
* @return This builder. * @return This builder.
* @deprecated Use {@link #Builder(Context)} instead.
*/ */
@Deprecated
public Builder setContext(Context context) { public Builder setContext(Context context) {
this.context = context.getApplicationContext(); this.context = context.getApplicationContext();
return this; return this;
...@@ -148,8 +172,8 @@ public final class Transformer { ...@@ -148,8 +172,8 @@ public final class Transformer {
/** /**
* Sets the {@link MediaSourceFactory} to be used to retrieve the inputs to transform. The * Sets the {@link MediaSourceFactory} to be used to retrieve the inputs to transform. The
* default value is a {@link DefaultMediaSourceFactory} built with the context provided in * default value is a {@link DefaultMediaSourceFactory} built with the context provided in the
* {@link #setContext(Context)}. * constructor.
* *
* @param mediaSourceFactory A {@link MediaSourceFactory}. * @param mediaSourceFactory A {@link MediaSourceFactory}.
* @return This builder. * @return This builder.
...@@ -366,7 +390,7 @@ public final class Transformer { ...@@ -366,7 +390,7 @@ public final class Transformer {
/** /**
* Builds a {@link Transformer} instance. * Builds a {@link Transformer} instance.
* *
* @throws IllegalStateException If the {@link Context} has not been provided. * @throws NullPointerException If the {@link Context} has not been provided.
* @throws IllegalStateException If both audio and video have been removed (otherwise the output * @throws IllegalStateException If both audio and video have been removed (otherwise the output
* would not contain any samples). * would not contain any samples).
* @throws IllegalStateException If the muxer doesn't support the requested container MIME type. * @throws IllegalStateException If the muxer doesn't support the requested container MIME type.
...@@ -374,7 +398,9 @@ public final class Transformer { ...@@ -374,7 +398,9 @@ public final class Transformer {
* @throws IllegalStateException If the muxer doesn't support the requested video MIME type. * @throws IllegalStateException If the muxer doesn't support the requested video MIME type.
*/ */
public Transformer build() { public Transformer build() {
checkStateNotNull(context); // TODO(huangdarwin): Remove this checkNotNull after deprecated {@link #setContext(Context)}
// is removed.
checkNotNull(context);
if (mediaSourceFactory == null) { if (mediaSourceFactory == null) {
DefaultExtractorsFactory defaultExtractorsFactory = new DefaultExtractorsFactory(); DefaultExtractorsFactory defaultExtractorsFactory = new DefaultExtractorsFactory();
if (flattenForSlowMotion) { if (flattenForSlowMotion) {
......
...@@ -31,14 +31,16 @@ public class TransformerBuilderTest { ...@@ -31,14 +31,16 @@ public class TransformerBuilderTest {
@Test @Test
public void setOutputMimeType_unsupportedMimeType_throws() { public void setOutputMimeType_unsupportedMimeType_throws() {
Context context = ApplicationProvider.getApplicationContext();
assertThrows( assertThrows(
IllegalStateException.class, IllegalStateException.class,
() -> new Transformer.Builder().setOutputMimeType(MimeTypes.VIDEO_FLV).build()); () -> new Transformer.Builder(context).setOutputMimeType(MimeTypes.VIDEO_UNKNOWN).build());
} }
@Test @Test
public void build_withoutContext_throws() { public void build_withoutContext_throws() {
assertThrows(IllegalStateException.class, () -> new Transformer.Builder().build()); assertThrows(NullPointerException.class, () -> new Transformer.Builder().build());
} }
@Test @Test
...@@ -47,11 +49,6 @@ public class TransformerBuilderTest { ...@@ -47,11 +49,6 @@ public class TransformerBuilderTest {
assertThrows( assertThrows(
IllegalStateException.class, IllegalStateException.class,
() -> () -> new Transformer.Builder(context).setRemoveAudio(true).setRemoveVideo(true).build());
new Transformer.Builder()
.setContext(context)
.setRemoveAudio(true)
.setRemoveVideo(true)
.build());
} }
} }
...@@ -92,8 +92,7 @@ public final class TransformerTest { ...@@ -92,8 +92,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_videoOnly_completesSuccessfully() throws Exception { public void startTransformation_videoOnly_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
.build(); .build();
...@@ -108,8 +107,7 @@ public final class TransformerTest { ...@@ -108,8 +107,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_audioOnly_completesSuccessfully() throws Exception { public void startTransformation_audioOnly_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
.build(); .build();
...@@ -124,8 +122,7 @@ public final class TransformerTest { ...@@ -124,8 +122,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_audioAndVideo_completesSuccessfully() throws Exception { public void startTransformation_audioAndVideo_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
.build(); .build();
...@@ -140,8 +137,7 @@ public final class TransformerTest { ...@@ -140,8 +137,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_withSubtitles_completesSuccessfully() throws Exception { public void startTransformation_withSubtitles_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
.build(); .build();
...@@ -157,8 +153,7 @@ public final class TransformerTest { ...@@ -157,8 +153,7 @@ public final class TransformerTest {
public void startTransformation_successiveTransformations_completesSuccessfully() public void startTransformation_successiveTransformations_completesSuccessfully()
throws Exception { throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
.build(); .build();
...@@ -178,7 +173,7 @@ public final class TransformerTest { ...@@ -178,7 +173,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_concurrentTransformations_throwsError() throws Exception { public void startTransformation_concurrentTransformations_throwsError() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
transformer.startTransformation(mediaItem, outputPath); transformer.startTransformation(mediaItem, outputPath);
...@@ -190,8 +185,7 @@ public final class TransformerTest { ...@@ -190,8 +185,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_removeAudio_completesSuccessfully() throws Exception { public void startTransformation_removeAudio_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setRemoveAudio(true) .setRemoveAudio(true)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
...@@ -208,8 +202,7 @@ public final class TransformerTest { ...@@ -208,8 +202,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_removeVideo_completesSuccessfully() throws Exception { public void startTransformation_removeVideo_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setRemoveVideo(true) .setRemoveVideo(true)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
...@@ -226,8 +219,7 @@ public final class TransformerTest { ...@@ -226,8 +219,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_flattenForSlowMotion_completesSuccessfully() throws Exception { public void startTransformation_flattenForSlowMotion_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setFlattenForSlowMotion(true) .setFlattenForSlowMotion(true)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
...@@ -242,7 +234,7 @@ public final class TransformerTest { ...@@ -242,7 +234,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_withPlayerError_completesWithError() throws Exception { public void startTransformation_withPlayerError_completesWithError() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri("asset:///non-existing-path.mp4"); MediaItem mediaItem = MediaItem.fromUri("asset:///non-existing-path.mp4");
transformer.startTransformation(mediaItem, outputPath); transformer.startTransformation(mediaItem, outputPath);
...@@ -255,7 +247,7 @@ public final class TransformerTest { ...@@ -255,7 +247,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_withAllSampleFormatsUnsupported_completesWithError() public void startTransformation_withAllSampleFormatsUnsupported_completesWithError()
throws Exception { throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_WITH_ALL_SAMPLE_FORMATS_UNSUPPORTED); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_WITH_ALL_SAMPLE_FORMATS_UNSUPPORTED);
transformer.startTransformation(mediaItem, outputPath); transformer.startTransformation(mediaItem, outputPath);
...@@ -267,8 +259,7 @@ public final class TransformerTest { ...@@ -267,8 +259,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_afterCancellation_completesSuccessfully() throws Exception { public void startTransformation_afterCancellation_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
.build(); .build();
...@@ -291,8 +282,7 @@ public final class TransformerTest { ...@@ -291,8 +282,7 @@ public final class TransformerTest {
anotherThread.start(); anotherThread.start();
Looper looper = anotherThread.getLooper(); Looper looper = anotherThread.getLooper();
Transformer transformer = Transformer transformer =
new Transformer.Builder() new Transformer.Builder(context)
.setContext(context)
.setLooper(looper) .setLooper(looper)
.setClock(clock) .setClock(clock)
.setMuxerFactory(new TestMuxerFactory()) .setMuxerFactory(new TestMuxerFactory())
...@@ -321,7 +311,7 @@ public final class TransformerTest { ...@@ -321,7 +311,7 @@ public final class TransformerTest {
@Test @Test
public void startTransformation_fromWrongThread_throwsError() throws Exception { public void startTransformation_fromWrongThread_throwsError() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_ONLY); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_AUDIO_ONLY);
HandlerThread anotherThread = new HandlerThread("AnotherThread"); HandlerThread anotherThread = new HandlerThread("AnotherThread");
AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>(); AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>();
...@@ -348,7 +338,7 @@ public final class TransformerTest { ...@@ -348,7 +338,7 @@ public final class TransformerTest {
@Test @Test
public void getProgress_knownDuration_returnsConsistentStates() throws Exception { public void getProgress_knownDuration_returnsConsistentStates() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
AtomicInteger previousProgressState = AtomicInteger previousProgressState =
new AtomicInteger(PROGRESS_STATE_WAITING_FOR_AVAILABILITY); new AtomicInteger(PROGRESS_STATE_WAITING_FOR_AVAILABILITY);
...@@ -394,7 +384,7 @@ public final class TransformerTest { ...@@ -394,7 +384,7 @@ public final class TransformerTest {
@Test @Test
public void getProgress_knownDuration_givesIncreasingPercentages() throws Exception { public void getProgress_knownDuration_givesIncreasingPercentages() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
List<Integer> progresses = new ArrayList<>(); List<Integer> progresses = new ArrayList<>();
Handler progressHandler = Handler progressHandler =
...@@ -429,7 +419,7 @@ public final class TransformerTest { ...@@ -429,7 +419,7 @@ public final class TransformerTest {
@Test @Test
public void getProgress_noCurrentTransformation_returnsNoTransformation() throws Exception { public void getProgress_noCurrentTransformation_returnsNoTransformation() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
@Transformer.ProgressState int stateBeforeTransform = transformer.getProgress(progressHolder); @Transformer.ProgressState int stateBeforeTransform = transformer.getProgress(progressHolder);
...@@ -443,7 +433,7 @@ public final class TransformerTest { ...@@ -443,7 +433,7 @@ public final class TransformerTest {
@Test @Test
public void getProgress_unknownDuration_returnsConsistentStates() throws Exception { public void getProgress_unknownDuration_returnsConsistentStates() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_UNKNOWN_DURATION); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_UNKNOWN_DURATION);
AtomicInteger previousProgressState = AtomicInteger previousProgressState =
new AtomicInteger(PROGRESS_STATE_WAITING_FOR_AVAILABILITY); new AtomicInteger(PROGRESS_STATE_WAITING_FOR_AVAILABILITY);
...@@ -486,7 +476,7 @@ public final class TransformerTest { ...@@ -486,7 +476,7 @@ public final class TransformerTest {
@Test @Test
public void getProgress_fromWrongThread_throwsError() throws Exception { public void getProgress_fromWrongThread_throwsError() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
HandlerThread anotherThread = new HandlerThread("AnotherThread"); HandlerThread anotherThread = new HandlerThread("AnotherThread");
AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>(); AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>();
CountDownLatch countDownLatch = new CountDownLatch(1); CountDownLatch countDownLatch = new CountDownLatch(1);
...@@ -510,7 +500,7 @@ public final class TransformerTest { ...@@ -510,7 +500,7 @@ public final class TransformerTest {
@Test @Test
public void cancel_afterCompletion_doesNotThrow() throws Exception { public void cancel_afterCompletion_doesNotThrow() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY); MediaItem mediaItem = MediaItem.fromUri(URI_PREFIX + FILE_VIDEO_ONLY);
transformer.startTransformation(mediaItem, outputPath); transformer.startTransformation(mediaItem, outputPath);
...@@ -520,7 +510,7 @@ public final class TransformerTest { ...@@ -520,7 +510,7 @@ public final class TransformerTest {
@Test @Test
public void cancel_fromWrongThread_throwsError() throws Exception { public void cancel_fromWrongThread_throwsError() throws Exception {
Transformer transformer = new Transformer.Builder().setContext(context).setClock(clock).build(); Transformer transformer = new Transformer.Builder(context).setClock(clock).build();
HandlerThread anotherThread = new HandlerThread("AnotherThread"); HandlerThread anotherThread = new HandlerThread("AnotherThread");
AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>(); AtomicReference<IllegalStateException> illegalStateException = new AtomicReference<>();
CountDownLatch countDownLatch = new CountDownLatch(1); CountDownLatch countDownLatch = new CountDownLatch(1);
......
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