diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FileUtil.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FileUtil.java index fda6bf4f5f..e716829870 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FileUtil.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FileUtil.java @@ -16,6 +16,7 @@ package androidx.media3.test.utils; +import static androidx.media3.common.util.Assertions.checkState; import static com.google.common.truth.Truth.assertThat; import android.content.Context; @@ -43,7 +44,7 @@ public final class FileUtil { */ public static void assertFileHasColorTransfer( Context context, @Nullable String filePath, @C.ColorTransfer int expectedColorTransfer) { - Format videoTrackFormat = retrieveVideoTrackFormat(context, filePath); + Format videoTrackFormat = retrieveTrackFormat(context, filePath, C.TRACK_TYPE_VIDEO); @Nullable ColorInfo colorInfo = videoTrackFormat.colorInfo; @C.ColorTransfer int actualColorTransfer = @@ -53,7 +54,9 @@ public final class FileUtil { assertThat(actualColorTransfer).isEqualTo(expectedColorTransfer); } - private static Format retrieveVideoTrackFormat(Context context, @Nullable String filePath) { + /** Returns {@linkplain Format track format} from the media file. */ + public static Format retrieveTrackFormat( + Context context, @Nullable String filePath, @C.TrackType int trackType) { TrackGroupArray trackGroupArray; try { trackGroupArray = @@ -68,12 +71,12 @@ public final class FileUtil { for (int i = 0; i < trackGroupArray.length; i++) { TrackGroup trackGroup = trackGroupArray.get(i); - if (trackGroup.type == C.TRACK_TYPE_VIDEO) { - assertThat(trackGroup.length).isEqualTo(1); + if (trackGroup.type == trackType) { + checkState(trackGroup.length == 1); return trackGroup.getFormat(0); } } - throw new IllegalStateException("Couldn't find video track"); + throw new IllegalStateException("Couldn't find track"); } private FileUtil() {} diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index 41a54f2a22..15008952f0 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -17,6 +17,7 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Util.isRunningOnEmulator; +import static androidx.media3.test.utils.FileUtil.retrieveTrackFormat; import static androidx.media3.transformer.AndroidTestUtil.JPG_ASSET_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP3_ASSET_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_FORMAT; @@ -943,13 +944,15 @@ public class TransformerEndToEndTest { Transformer transformer = new Transformer.Builder(context).setVideoMimeType(MimeTypes.VIDEO_AV1).build(); - ExportResult exportResult = + ExportTestResult exportTestResult = new TransformerAndroidTestRunner.Builder(context, transformer) .build() - .run(testId, editedMediaItem) - .exportResult; + .run(testId, editedMediaItem); + ExportResult exportResult = exportTestResult.exportResult; - // TODO: b/322954582 - Also assert by probing output file. + String actualMimeType = + retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_VIDEO).sampleMimeType; + assertThat(actualMimeType).isEqualTo(MimeTypes.VIDEO_AV1); assertThat(exportResult.exportException).isNull(); assertThat(exportResult.durationMs).isGreaterThan(0); assertThat(exportResult.videoMimeType).isEqualTo(MimeTypes.VIDEO_AV1); @@ -963,13 +966,15 @@ public class TransformerEndToEndTest { Transformer transformer = new Transformer.Builder(context).setAudioMimeType(MimeTypes.AUDIO_AAC).build(); - ExportResult exportResult = + ExportTestResult exportTestResult = new TransformerAndroidTestRunner.Builder(context, transformer) .build() - .run(testId, editedMediaItem) - .exportResult; + .run(testId, editedMediaItem); + ExportResult exportResult = exportTestResult.exportResult; - // TODO: b/322954582 - Also assert by probing output file. + String actualMimeType = + retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_AUDIO).sampleMimeType; + assertThat(actualMimeType).isEqualTo(MimeTypes.AUDIO_AAC); assertThat(exportResult.exportException).isNull(); assertThat(exportResult.durationMs).isGreaterThan(0); assertThat(exportResult.audioMimeType).isEqualTo(MimeTypes.AUDIO_AAC);