Replace usages of deprecated TransformationRequest setter

PiperOrigin-RevId: 543765376
This commit is contained in:
kimvde 2023-06-27 16:21:14 +00:00 committed by Tianyi Feng
parent dc311fd0ca
commit b358d075a1
9 changed files with 96 additions and 111 deletions

View file

@ -87,7 +87,6 @@ import androidx.media3.transformer.Effects;
import androidx.media3.transformer.ExportException; import androidx.media3.transformer.ExportException;
import androidx.media3.transformer.ExportResult; import androidx.media3.transformer.ExportResult;
import androidx.media3.transformer.ProgressHolder; import androidx.media3.transformer.ProgressHolder;
import androidx.media3.transformer.TransformationRequest;
import androidx.media3.transformer.Transformer; import androidx.media3.transformer.Transformer;
import androidx.media3.ui.AspectRatioFrameLayout; import androidx.media3.ui.AspectRatioFrameLayout;
import androidx.media3.ui.PlayerView; import androidx.media3.ui.PlayerView;
@ -100,7 +99,6 @@ import com.google.common.util.concurrent.ListenableFuture;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
@ -299,17 +297,14 @@ public final class TransformerActivity extends AppCompatActivity {
private Transformer createTransformer(@Nullable Bundle bundle, Uri inputUri, String filePath) { private Transformer createTransformer(@Nullable Bundle bundle, Uri inputUri, String filePath) {
Transformer.Builder transformerBuilder = new Transformer.Builder(/* context= */ this); Transformer.Builder transformerBuilder = new Transformer.Builder(/* context= */ this);
if (bundle != null) { if (bundle != null) {
TransformationRequest.Builder requestBuilder = new TransformationRequest.Builder();
@Nullable String audioMimeType = bundle.getString(ConfigurationActivity.AUDIO_MIME_TYPE); @Nullable String audioMimeType = bundle.getString(ConfigurationActivity.AUDIO_MIME_TYPE);
if (audioMimeType != null) { if (audioMimeType != null) {
requestBuilder.setAudioMimeType(audioMimeType); transformerBuilder.setAudioMimeType(audioMimeType);
} }
@Nullable String videoMimeType = bundle.getString(ConfigurationActivity.VIDEO_MIME_TYPE); @Nullable String videoMimeType = bundle.getString(ConfigurationActivity.VIDEO_MIME_TYPE);
if (videoMimeType != null) { if (videoMimeType != null) {
requestBuilder.setVideoMimeType(videoMimeType); transformerBuilder.setVideoMimeType(videoMimeType);
} }
requestBuilder.setHdrMode(bundle.getInt(ConfigurationActivity.HDR_MODE));
transformerBuilder.setTransformationRequest(requestBuilder.build());
transformerBuilder.setEncoderFactory( transformerBuilder.setEncoderFactory(
new DefaultEncoderFactory.Builder(this.getApplicationContext()) new DefaultEncoderFactory.Builder(this.getApplicationContext())
@ -368,7 +363,6 @@ public final class TransformerActivity extends AppCompatActivity {
EditedMediaItem.Builder editedMediaItemBuilder = new EditedMediaItem.Builder(mediaItem); EditedMediaItem.Builder editedMediaItemBuilder = new EditedMediaItem.Builder(mediaItem);
// For image inputs. Automatically ignored if input is audio/video. // For image inputs. Automatically ignored if input is audio/video.
editedMediaItemBuilder.setDurationUs(5_000_000).setFrameRate(30); editedMediaItemBuilder.setDurationUs(5_000_000).setFrameRate(30);
boolean forceAudioTrack = false;
if (bundle != null) { if (bundle != null) {
ImmutableList<AudioProcessor> audioProcessors = createAudioProcessorsFromBundle(bundle); ImmutableList<AudioProcessor> audioProcessors = createAudioProcessorsFromBundle(bundle);
ImmutableList<Effect> videoEffects = createVideoEffectsFromBundle(bundle); ImmutableList<Effect> videoEffects = createVideoEffectsFromBundle(bundle);
@ -378,15 +372,18 @@ public final class TransformerActivity extends AppCompatActivity {
.setFlattenForSlowMotion( .setFlattenForSlowMotion(
bundle.getBoolean(ConfigurationActivity.SHOULD_FLATTEN_FOR_SLOW_MOTION)) bundle.getBoolean(ConfigurationActivity.SHOULD_FLATTEN_FOR_SLOW_MOTION))
.setEffects(new Effects(audioProcessors, videoEffects)); .setEffects(new Effects(audioProcessors, videoEffects));
forceAudioTrack = bundle.getBoolean(ConfigurationActivity.FORCE_AUDIO_TRACK);
} }
List<EditedMediaItem> editedMediaItems = new ArrayList<>(); List<EditedMediaItem> editedMediaItems = ImmutableList.of(editedMediaItemBuilder.build());
editedMediaItems.add(editedMediaItemBuilder.build()); List<EditedMediaItemSequence> sequences =
List<EditedMediaItemSequence> sequences = new ArrayList<>(); ImmutableList.of(new EditedMediaItemSequence(editedMediaItems));
sequences.add(new EditedMediaItemSequence(editedMediaItems)); Composition.Builder compositionBuilder = new Composition.Builder(sequences);
return new Composition.Builder(sequences) if (bundle != null) {
.experimentalSetForceAudioTrack(forceAudioTrack) compositionBuilder
.build(); .setHdrMode(bundle.getInt(ConfigurationActivity.HDR_MODE))
.experimentalSetForceAudioTrack(
bundle.getBoolean(ConfigurationActivity.FORCE_AUDIO_TRACK));
}
return compositionBuilder.build();
} }
private ImmutableList<AudioProcessor> createAudioProcessorsFromBundle(Bundle bundle) { private ImmutableList<AudioProcessor> createAudioProcessorsFromBundle(Bundle bundle) {

View file

@ -30,18 +30,21 @@ import androidx.media3.common.C;
import androidx.media3.common.ColorInfo; import androidx.media3.common.ColorInfo;
import androidx.media3.common.Format; import androidx.media3.common.Format;
import androidx.media3.common.MediaItem; import androidx.media3.common.MediaItem;
import androidx.media3.transformer.Composition;
import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.EditedMediaItemSequence;
import androidx.media3.transformer.ExportTestResult; import androidx.media3.transformer.ExportTestResult;
import androidx.media3.transformer.TransformationRequest;
import androidx.media3.transformer.Transformer; import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
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.common.collect.ImmutableList;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
/** /**
* {@link Transformer} instrumentation test for {@linkplain * {@link Transformer} instrumentation test for {@linkplain
* TransformationRequest#HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR forcing HDR contents to be * Composition#HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR forcing HDR contents to be
* interpreted as SDR}. * interpreted as SDR}.
*/ */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@ -70,19 +73,19 @@ public class ForceInterpretHdrVideoAsSdrTest {
return; return;
} }
Transformer transformer = Transformer transformer = new Transformer.Builder(context).build();
new Transformer.Builder(context)
.setTransformationRequest(
new TransformationRequest.Builder()
.setHdrMode(
TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build())
.build();
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10)); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10));
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
EditedMediaItemSequence sequence =
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, mediaItem); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} }
@ -110,19 +113,19 @@ public class ForceInterpretHdrVideoAsSdrTest {
return; return;
} }
Transformer transformer = Transformer transformer = new Transformer.Builder(context).build();
new Transformer.Builder(context)
.setTransformationRequest(
new TransformationRequest.Builder()
.setHdrMode(
TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build())
.build();
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10)); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10));
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
EditedMediaItemSequence sequence =
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, mediaItem); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} }

View file

@ -29,7 +29,9 @@ import androidx.media3.common.C;
import androidx.media3.common.ColorInfo; import androidx.media3.common.ColorInfo;
import androidx.media3.common.MediaItem; import androidx.media3.common.MediaItem;
import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.AndroidTestUtil;
import androidx.media3.transformer.Composition;
import androidx.media3.transformer.EditedMediaItem; import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.EditedMediaItemSequence;
import androidx.media3.transformer.ExportException; import androidx.media3.transformer.ExportException;
import androidx.media3.transformer.ExportTestResult; import androidx.media3.transformer.ExportTestResult;
import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.TransformationRequest;
@ -37,14 +39,14 @@ import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
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.common.collect.ImmutableList;
import java.util.Objects; import java.util.Objects;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
/** /**
* {@link Transformer} instrumentation test for applying an {@linkplain * {@link Transformer} instrumentation test for applying an {@linkplain
* TransformationRequest#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC HDR to SDR tone mapping * Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC HDR to SDR tone mapping edit}.
* edit}.
*/ */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class ToneMapHdrToSdrUsingMediaCodecTest { public class ToneMapHdrToSdrUsingMediaCodecTest {
@ -67,10 +69,6 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest(
new TransformationRequest.Builder()
.setHdrMode(TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build())
.addListener( .addListener(
new Transformer.Listener() { new Transformer.Listener() {
@Override @Override
@ -86,12 +84,19 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
}) })
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10)); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10));
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
EditedMediaItemSequence sequence =
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build();
try { try {
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, mediaItem); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} catch (ExportException exception) { } catch (ExportException exception) {
if (exception.getCause() != null if (exception.getCause() != null
@ -126,10 +131,6 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest(
new TransformationRequest.Builder()
.setHdrMode(TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build())
.addListener( .addListener(
new Transformer.Listener() { new Transformer.Listener() {
@Override @Override
@ -145,12 +146,19 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
}) })
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10)); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10));
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
EditedMediaItemSequence sequence =
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build();
try { try {
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, mediaItem); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} catch (ExportException exception) { } catch (ExportException exception) {
if (exception.getCause() != null if (exception.getCause() != null
@ -185,10 +193,6 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest(
new TransformationRequest.Builder()
.setHdrMode(TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build())
.addListener( .addListener(
new Transformer.Listener() { new Transformer.Listener() {
@Override @Override
@ -206,12 +210,18 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10)); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10));
EditedMediaItem editedMediaItem = EditedMediaItem editedMediaItem =
new EditedMediaItem.Builder(mediaItem).setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS).build(); new EditedMediaItem.Builder(mediaItem).setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS).build();
EditedMediaItemSequence sequence =
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build();
try { try {
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, editedMediaItem); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} catch (ExportException exception) { } catch (ExportException exception) {
if (exception.getCause() != null if (exception.getCause() != null
@ -246,10 +256,6 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest(
new TransformationRequest.Builder()
.setHdrMode(TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build())
.addListener( .addListener(
new Transformer.Listener() { new Transformer.Listener() {
@Override @Override
@ -267,12 +273,18 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10)); MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10));
EditedMediaItem editedMediaItem = EditedMediaItem editedMediaItem =
new EditedMediaItem.Builder(mediaItem).setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS).build(); new EditedMediaItem.Builder(mediaItem).setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS).build();
EditedMediaItemSequence sequence =
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build();
try { try {
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, editedMediaItem); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} catch (ExportException exception) { } catch (ExportException exception) {
if (exception.getCause() != null if (exception.getCause() != null

View file

@ -34,12 +34,15 @@ import androidx.media3.common.util.GlUtil;
import androidx.media3.common.util.Util; import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.mediacodec.MediaCodecUtil; import androidx.media3.exoplayer.mediacodec.MediaCodecUtil;
import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.AndroidTestUtil;
import androidx.media3.transformer.Composition;
import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.EditedMediaItemSequence;
import androidx.media3.transformer.ExportTestResult; import androidx.media3.transformer.ExportTestResult;
import androidx.media3.transformer.TransformationRequest;
import androidx.media3.transformer.Transformer; import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
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.common.collect.ImmutableList;
import java.io.IOException; import java.io.IOException;
import org.json.JSONException; import org.json.JSONException;
import org.junit.Test; import org.junit.Test;
@ -47,7 +50,7 @@ import org.junit.runner.RunWith;
/** /**
* {@link Transformer} instrumentation test for applying an {@linkplain * {@link Transformer} instrumentation test for applying an {@linkplain
* TransformationRequest#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL HDR to SDR tone mapping edit}. * Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL HDR to SDR tone mapping edit}.
*/ */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class ToneMapHdrToSdrUsingOpenGlTest { public class ToneMapHdrToSdrUsingOpenGlTest {
@ -88,17 +91,19 @@ public class ToneMapHdrToSdrUsingOpenGlTest {
} }
private void runTransformerWithOpenGlToneMapping(String testId, String fileUri) throws Exception { private void runTransformerWithOpenGlToneMapping(String testId, String fileUri) throws Exception {
Transformer transformer = Transformer transformer = new Transformer.Builder(context).build();
new Transformer.Builder(context) MediaItem mediaItem = MediaItem.fromUri(fileUri);
.setTransformationRequest( EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
new TransformationRequest.Builder() EditedMediaItemSequence sequence =
.setHdrMode(TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL) new EditedMediaItemSequence(ImmutableList.of(editedMediaItem));
.build()) Composition composition =
new Composition.Builder(ImmutableList.of(sequence))
.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)
.build(); .build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
.build() .build()
.run(testId, MediaItem.fromUri(fileUri)); .run(testId, composition);
assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR); assertFileHasColorTransfer(context, exportTestResult.filePath, C.COLOR_TRANSFER_SDR);
} }

View file

@ -28,7 +28,6 @@ import androidx.media3.transformer.AndroidTestUtil;
import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.DefaultEncoderFactory;
import androidx.media3.transformer.EditedMediaItem; import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.ExportTestResult; import androidx.media3.transformer.ExportTestResult;
import androidx.media3.transformer.TransformationRequest;
import androidx.media3.transformer.Transformer; import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
import androidx.media3.transformer.VideoEncoderSettings; import androidx.media3.transformer.VideoEncoderSettings;
@ -58,8 +57,7 @@ public final class TranscodeQualityTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest( .setVideoMimeType(MimeTypes.VIDEO_H264)
new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build())
.setEncoderFactory( .setEncoderFactory(
new DefaultEncoderFactory.Builder(context) new DefaultEncoderFactory.Builder(context)
.setRequestedVideoEncoderSettings( .setRequestedVideoEncoderSettings(
@ -104,10 +102,7 @@ public final class TranscodeQualityTest {
assumeTrue(!Util.MODEL.equals("SM-F711U1") && !Util.MODEL.equals("SM-F926U1")); assumeTrue(!Util.MODEL.equals("SM-F711U1") && !Util.MODEL.equals("SM-F926U1"));
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context).setVideoMimeType(MimeTypes.VIDEO_H265).build();
.setTransformationRequest(
new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H265).build())
.build();
MediaItem mediaItem = MediaItem mediaItem =
MediaItem.fromUri( MediaItem.fromUri(
Uri.parse(AndroidTestUtil.MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING)); Uri.parse(AndroidTestUtil.MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING));
@ -135,8 +130,7 @@ public final class TranscodeQualityTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest( .setVideoMimeType(MimeTypes.VIDEO_H264)
new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build())
.setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context))
.build(); .build();
MediaItem mediaItem = MediaItem mediaItem =

View file

@ -25,7 +25,6 @@ import androidx.media3.common.MediaItem;
import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.AndroidTestUtil;
import androidx.media3.transformer.EditedMediaItem; import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.ExportTestResult; import androidx.media3.transformer.ExportTestResult;
import androidx.media3.transformer.TransformationRequest;
import androidx.media3.transformer.Transformer; import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
@ -116,7 +115,6 @@ public final class RepeatedTranscodeTest {
new TransformerAndroidTestRunner.Builder( new TransformerAndroidTestRunner.Builder(
context, context,
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest(new TransformationRequest.Builder().build())
.setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context))
.build()) .build())
.build(); .build();

View file

@ -56,7 +56,6 @@ import androidx.media3.common.util.Util;
import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.AndroidTestUtil;
import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.DefaultEncoderFactory;
import androidx.media3.transformer.EditedMediaItem; import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.TransformationRequest;
import androidx.media3.transformer.Transformer; import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
import androidx.media3.transformer.VideoEncoderSettings; import androidx.media3.transformer.VideoEncoderSettings;
@ -183,7 +182,7 @@ public class SsimMapperTest {
* @param testIdPrefix The test ID prefix. * @param testIdPrefix The test ID prefix.
* @param videoUri The URI of the video to transform. * @param videoUri The URI of the video to transform.
* @param outputMimeType The video sample MIME type to output, see {@link * @param outputMimeType The video sample MIME type to output, see {@link
* TransformationRequest.Builder#setVideoMimeType}. * Transformer.Builder#setVideoMimeType}.
*/ */
public SsimBinarySearcher( public SsimBinarySearcher(
Context context, String testIdPrefix, String videoUri, String outputMimeType) { Context context, String testIdPrefix, String videoUri, String outputMimeType) {
@ -291,8 +290,7 @@ public class SsimMapperTest {
Transformer transformer = Transformer transformer =
new Transformer.Builder(context) new Transformer.Builder(context)
.setTransformationRequest( .setVideoMimeType(outputMimeType)
new TransformationRequest.Builder().setVideoMimeType(outputMimeType).build())
.setEncoderFactory( .setEncoderFactory(
new DefaultEncoderFactory.Builder(context) new DefaultEncoderFactory.Builder(context)
.setRequestedVideoEncoderSettings( .setRequestedVideoEncoderSettings(

View file

@ -157,10 +157,7 @@ public final class MediaItemExportTest {
public void start_audioOnlyTranscoding_completesSuccessfully() throws Exception { public void start_audioOnlyTranscoding_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false) createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false)
.setTransformationRequest( .setAudioMimeType(MimeTypes.AUDIO_AAC) // supported by encoder and muxer
new TransformationRequest.Builder()
.setAudioMimeType(MimeTypes.AUDIO_AAC) // supported by encoder and muxer
.build())
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
@ -213,8 +210,7 @@ public final class MediaItemExportTest {
public void start_withSubtitles_completesSuccessfully() throws Exception { public void start_withSubtitles_completesSuccessfully() throws Exception {
Transformer transformer = Transformer transformer =
createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false) createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false)
.setTransformationRequest( .setAudioMimeType(MimeTypes.AUDIO_AAC)
new TransformationRequest.Builder().setAudioMimeType(MimeTypes.AUDIO_AAC).build())
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_WITH_SUBTITLES); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_WITH_SUBTITLES);
@ -482,8 +478,7 @@ public final class MediaItemExportTest {
.addListener(mockListener1) .addListener(mockListener1)
.addListener(mockListener2) .addListener(mockListener2)
.addListener(mockListener3) .addListener(mockListener3)
.setTransformationRequest( // Request transcoding so that decoder is used. .setAudioMimeType(MimeTypes.AUDIO_AAC) // Request transcoding so that decoder is used.
new TransformationRequest.Builder().setAudioMimeType(MimeTypes.AUDIO_AAC).build())
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_DECODER); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_DECODER);
@ -691,11 +686,7 @@ public final class MediaItemExportTest {
public void start_withAudioEncoderFormatUnsupported_completesWithError() { public void start_withAudioEncoderFormatUnsupported_completesWithError() {
Transformer transformer = Transformer transformer =
createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false) createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false)
.setTransformationRequest( .setAudioMimeType(MimeTypes.AUDIO_AMR_NB) // unsupported by encoder, supported by muxer
new TransformationRequest.Builder()
.setAudioMimeType(
MimeTypes.AUDIO_AMR_NB) // unsupported by encoder, supported by muxer
.build())
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_MUXER); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_MUXER);
@ -711,10 +702,7 @@ public final class MediaItemExportTest {
public void start_withAudioDecoderFormatUnsupported_completesWithError() { public void start_withAudioDecoderFormatUnsupported_completesWithError() {
Transformer transformer = Transformer transformer =
createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false) createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false)
.setTransformationRequest( .setAudioMimeType(MimeTypes.AUDIO_AAC) // supported by encoder and muxer
new TransformationRequest.Builder()
.setAudioMimeType(MimeTypes.AUDIO_AAC) // supported by encoder and muxer
.build())
.build(); .build();
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_DECODER); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_UNSUPPORTED_BY_DECODER);

View file

@ -32,28 +32,18 @@ public class TransformerBuilderTest {
@Test @Test
public void build_withUnsupportedAudioMimeType_throws() { public void build_withUnsupportedAudioMimeType_throws() {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
TransformationRequest transformationRequest =
new TransformationRequest.Builder().setAudioMimeType(MimeTypes.AUDIO_UNKNOWN).build();
assertThrows( assertThrows(
IllegalStateException.class, IllegalStateException.class,
() -> () -> new Transformer.Builder(context).setAudioMimeType(MimeTypes.AUDIO_UNKNOWN).build());
new Transformer.Builder(context)
.setTransformationRequest(transformationRequest)
.build());
} }
@Test @Test
public void build_withUnsupportedVideoMimeType_throws() { public void build_withUnsupportedVideoMimeType_throws() {
Context context = ApplicationProvider.getApplicationContext(); Context context = ApplicationProvider.getApplicationContext();
TransformationRequest transformationRequest =
new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_UNKNOWN).build();
assertThrows( assertThrows(
IllegalStateException.class, IllegalStateException.class,
() -> () -> new Transformer.Builder(context).setVideoMimeType(MimeTypes.VIDEO_UNKNOWN).build());
new Transformer.Builder(context)
.setTransformationRequest(transformationRequest)
.build());
} }
} }