Add VIDEO_APV mimetype to FrameworkMuxer supported types

Came up in github issue https://github.com/androidx/media/issues/2275.

PiperOrigin-RevId: 742233737
This commit is contained in:
sheenachhabra 2025-03-31 05:42:00 -07:00 committed by Copybara-Service
parent 9254efd8da
commit 25c1760b17
2 changed files with 22 additions and 0 deletions

View File

@ -19,6 +19,7 @@ import static android.media.MediaCodecInfo.CodecProfileLevel.AACObjectHE;
import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.common.util.Assertions.checkState;
import static androidx.media3.common.util.MediaFormatUtil.createFormatFromMediaFormat;
import static androidx.media3.common.util.Util.SDK_INT;
import static androidx.media3.common.util.Util.isRunningOnEmulator;
import static androidx.media3.test.utils.TestUtil.retrieveTrackFormat;
import static androidx.media3.transformer.AndroidTestUtil.JPG_ASSET;
@ -2557,6 +2558,24 @@ public class TransformerEndToEndTest {
() -> new Composition.Builder(firstSequence, secondSequence).build());
}
@Test
public void transmux_apvFile_transmuxesSuccessfully() throws Exception {
// MediaMuxer supports APV from API 36.
assumeTrue(SDK_INT >= 36);
String apvFile = "asset:///media/mp4/sample_with_apvc.mp4";
EditedMediaItem editedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(apvFile))).build();
ExportTestResult result =
new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build())
.build()
.run(testId, editedMediaItem);
Format format = retrieveTrackFormat(context, result.filePath, C.TRACK_TYPE_VIDEO);
assertThat(format.sampleMimeType).isEqualTo(MimeTypes.VIDEO_APV);
assertThat(result.exportResult.videoConversionProcess).isEqualTo(CONVERSION_PROCESS_TRANSMUXED);
}
private static boolean shouldSkipDeviceForAacObjectHeProfileEncoding() {
return Util.SDK_INT < 29;
}

View File

@ -321,6 +321,9 @@ import java.util.Locale;
if (SDK_INT >= 34) {
supportedMimeTypes.add(MimeTypes.VIDEO_AV1);
}
if (SDK_INT >= 36) {
supportedMimeTypes.add(MimeTypes.VIDEO_APV);
}
return supportedMimeTypes.build();
}