mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Add test for clipped media items concatenation
This was broken and has been fixed in <unknown commit>. PiperOrigin-RevId: 521380415
This commit is contained in:
parent
95e0763ef1
commit
0bfe43866a
2 changed files with 1365 additions and 0 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -19,6 +19,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.transformer.TestUtil.ASSET_URI_PREFIX;
|
import static androidx.media3.transformer.TestUtil.ASSET_URI_PREFIX;
|
||||||
import static androidx.media3.transformer.TestUtil.FILE_AUDIO_VIDEO;
|
import static androidx.media3.transformer.TestUtil.FILE_AUDIO_VIDEO;
|
||||||
|
import static androidx.media3.transformer.TestUtil.FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S;
|
||||||
import static androidx.media3.transformer.TestUtil.createEncodersAndDecoders;
|
import static androidx.media3.transformer.TestUtil.createEncodersAndDecoders;
|
||||||
import static androidx.media3.transformer.TestUtil.createTransformerBuilder;
|
import static androidx.media3.transformer.TestUtil.createTransformerBuilder;
|
||||||
import static androidx.media3.transformer.TestUtil.getDumpFileName;
|
import static androidx.media3.transformer.TestUtil.getDumpFileName;
|
||||||
|
|
@ -121,6 +122,49 @@ public final class SequenceExportTest {
|
||||||
getDumpFileName(FILE_AUDIO_VIDEO + ".concatenated_with_high_pitch_and_no_video"));
|
getDumpFileName(FILE_AUDIO_VIDEO + ".concatenated_with_high_pitch_and_no_video"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void start_concatenateClippedMediaItems_completesSuccessfully() throws Exception {
|
||||||
|
Transformer transformer =
|
||||||
|
createTransformerBuilder(testMuxerHolder, /* enableFallback= */ false).build();
|
||||||
|
MediaItem.ClippingConfiguration clippingConfiguration1 =
|
||||||
|
new MediaItem.ClippingConfiguration.Builder()
|
||||||
|
.setStartPositionMs(0) // Corresponds to key frame.
|
||||||
|
.setEndPositionMs(500)
|
||||||
|
.build();
|
||||||
|
MediaItem mediaItem1 =
|
||||||
|
new MediaItem.Builder()
|
||||||
|
.setUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S)
|
||||||
|
.setClippingConfiguration(clippingConfiguration1)
|
||||||
|
.build();
|
||||||
|
EditedMediaItem editedMediaItem1 = new EditedMediaItem.Builder(mediaItem1).build();
|
||||||
|
MediaItem.ClippingConfiguration clippingConfiguration2 =
|
||||||
|
new MediaItem.ClippingConfiguration.Builder()
|
||||||
|
.setStartPositionMs(12_500) // Corresponds to key frame.
|
||||||
|
.setEndPositionMs(14_000)
|
||||||
|
.build();
|
||||||
|
MediaItem mediaItem2 =
|
||||||
|
new MediaItem.Builder()
|
||||||
|
.setUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S)
|
||||||
|
.setClippingConfiguration(clippingConfiguration2)
|
||||||
|
.build();
|
||||||
|
EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build();
|
||||||
|
EditedMediaItemSequence editedMediaItemSequence =
|
||||||
|
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem1, editedMediaItem2));
|
||||||
|
Composition composition =
|
||||||
|
new Composition.Builder(ImmutableList.of(editedMediaItemSequence))
|
||||||
|
.setTransmuxAudio(true)
|
||||||
|
.setTransmuxVideo(true)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
transformer.start(composition, outputPath);
|
||||||
|
TransformerTestRunner.runLooper(transformer);
|
||||||
|
|
||||||
|
DumpFileAsserts.assertOutput(
|
||||||
|
context,
|
||||||
|
checkNotNull(testMuxerHolder.testMuxer),
|
||||||
|
getDumpFileName(FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S + ".clipped_and_concatenated"));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void start_concatenateSilenceAndAudio_completesSuccessfully() throws Exception {
|
public void start_concatenateSilenceAndAudio_completesSuccessfully() throws Exception {
|
||||||
Transformer transformer =
|
Transformer transformer =
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue