Assert Export output mime type by retrieving output file metadata
PiperOrigin-RevId: 603333340
This commit is contained in:
parent
e3e57c9b99
commit
198e3fb166
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package androidx.media3.test.utils;
|
package androidx.media3.test.utils;
|
||||||
|
|
||||||
|
import static androidx.media3.common.util.Assertions.checkState;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -43,7 +44,7 @@ public final class FileUtil {
|
|||||||
*/
|
*/
|
||||||
public static void assertFileHasColorTransfer(
|
public static void assertFileHasColorTransfer(
|
||||||
Context context, @Nullable String filePath, @C.ColorTransfer int expectedColorTransfer) {
|
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;
|
@Nullable ColorInfo colorInfo = videoTrackFormat.colorInfo;
|
||||||
@C.ColorTransfer
|
@C.ColorTransfer
|
||||||
int actualColorTransfer =
|
int actualColorTransfer =
|
||||||
@ -53,7 +54,9 @@ public final class FileUtil {
|
|||||||
assertThat(actualColorTransfer).isEqualTo(expectedColorTransfer);
|
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;
|
TrackGroupArray trackGroupArray;
|
||||||
try {
|
try {
|
||||||
trackGroupArray =
|
trackGroupArray =
|
||||||
@ -68,12 +71,12 @@ public final class FileUtil {
|
|||||||
|
|
||||||
for (int i = 0; i < trackGroupArray.length; i++) {
|
for (int i = 0; i < trackGroupArray.length; i++) {
|
||||||
TrackGroup trackGroup = trackGroupArray.get(i);
|
TrackGroup trackGroup = trackGroupArray.get(i);
|
||||||
if (trackGroup.type == C.TRACK_TYPE_VIDEO) {
|
if (trackGroup.type == trackType) {
|
||||||
assertThat(trackGroup.length).isEqualTo(1);
|
checkState(trackGroup.length == 1);
|
||||||
return trackGroup.getFormat(0);
|
return trackGroup.getFormat(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new IllegalStateException("Couldn't find video track");
|
throw new IllegalStateException("Couldn't find track");
|
||||||
}
|
}
|
||||||
|
|
||||||
private FileUtil() {}
|
private FileUtil() {}
|
||||||
|
@ -17,6 +17,7 @@ package androidx.media3.transformer;
|
|||||||
|
|
||||||
import static androidx.media3.common.util.Assertions.checkNotNull;
|
import static androidx.media3.common.util.Assertions.checkNotNull;
|
||||||
import static androidx.media3.common.util.Util.isRunningOnEmulator;
|
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.JPG_ASSET_URI_STRING;
|
||||||
import static androidx.media3.transformer.AndroidTestUtil.MP3_ASSET_URI_STRING;
|
import static androidx.media3.transformer.AndroidTestUtil.MP3_ASSET_URI_STRING;
|
||||||
import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_FORMAT;
|
import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_FORMAT;
|
||||||
@ -943,13 +944,15 @@ public class TransformerEndToEndTest {
|
|||||||
Transformer transformer =
|
Transformer transformer =
|
||||||
new Transformer.Builder(context).setVideoMimeType(MimeTypes.VIDEO_AV1).build();
|
new Transformer.Builder(context).setVideoMimeType(MimeTypes.VIDEO_AV1).build();
|
||||||
|
|
||||||
ExportResult exportResult =
|
ExportTestResult exportTestResult =
|
||||||
new TransformerAndroidTestRunner.Builder(context, transformer)
|
new TransformerAndroidTestRunner.Builder(context, transformer)
|
||||||
.build()
|
.build()
|
||||||
.run(testId, editedMediaItem)
|
.run(testId, editedMediaItem);
|
||||||
.exportResult;
|
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.exportException).isNull();
|
||||||
assertThat(exportResult.durationMs).isGreaterThan(0);
|
assertThat(exportResult.durationMs).isGreaterThan(0);
|
||||||
assertThat(exportResult.videoMimeType).isEqualTo(MimeTypes.VIDEO_AV1);
|
assertThat(exportResult.videoMimeType).isEqualTo(MimeTypes.VIDEO_AV1);
|
||||||
@ -963,13 +966,15 @@ public class TransformerEndToEndTest {
|
|||||||
Transformer transformer =
|
Transformer transformer =
|
||||||
new Transformer.Builder(context).setAudioMimeType(MimeTypes.AUDIO_AAC).build();
|
new Transformer.Builder(context).setAudioMimeType(MimeTypes.AUDIO_AAC).build();
|
||||||
|
|
||||||
ExportResult exportResult =
|
ExportTestResult exportTestResult =
|
||||||
new TransformerAndroidTestRunner.Builder(context, transformer)
|
new TransformerAndroidTestRunner.Builder(context, transformer)
|
||||||
.build()
|
.build()
|
||||||
.run(testId, editedMediaItem)
|
.run(testId, editedMediaItem);
|
||||||
.exportResult;
|
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.exportException).isNull();
|
||||||
assertThat(exportResult.durationMs).isGreaterThan(0);
|
assertThat(exportResult.durationMs).isGreaterThan(0);
|
||||||
assertThat(exportResult.audioMimeType).isEqualTo(MimeTypes.AUDIO_AAC);
|
assertThat(exportResult.audioMimeType).isEqualTo(MimeTypes.AUDIO_AAC);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user