mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
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;
|
||||
|
||||
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() {}
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user