Skip to content

Commit df6b9a0

Browse files
SheenaChhabracopybara-github
authored andcommitted
Move audio edit list with InAppMp4Muxer test to Robolectric
This test has no device dependency. PiperOrigin-RevId: 787051409
1 parent 27624bd commit df6b9a0

File tree

2 files changed

+25
-27
lines changed

2 files changed

+25
-27
lines changed

libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2145,33 +2145,6 @@ public void transmux_audioWithEditList_preservesDuration() throws Exception {
21452145
}
21462146
}
21472147

2148-
@Test
2149-
public void transmux_audioWithEditListUsingInAppMuxer_preservesDuration() throws Exception {
2150-
Context context = ApplicationProvider.getApplicationContext();
2151-
Transformer transformer =
2152-
new Transformer.Builder(context).setMuxerFactory(new InAppMp4Muxer.Factory()).build();
2153-
MediaItem mediaItem =
2154-
MediaItem.fromUri(Uri.parse("asset:///media/mp4/long_edit_list_audioonly.mp4"));
2155-
2156-
ExportTestResult exportTestResult =
2157-
new TransformerAndroidTestRunner.Builder(context, transformer)
2158-
.build()
2159-
.run(testId, mediaItem);
2160-
2161-
Mp4Extractor mp4Extractor = new Mp4Extractor(new DefaultSubtitleParserFactory());
2162-
FakeExtractorOutput fakeExtractorOutput =
2163-
TestUtil.extractAllSamplesFromFilePath(mp4Extractor, exportTestResult.filePath);
2164-
assertThat(fakeExtractorOutput.seekMap.getDurationUs()).isEqualTo(1_562_100);
2165-
assertThat(fakeExtractorOutput.numberOfTracks).isEqualTo(1);
2166-
FakeTrackOutput audioTrack = fakeExtractorOutput.trackOutputs.get(0);
2167-
int expectedSampleCount = 68;
2168-
audioTrack.assertSampleCount(expectedSampleCount);
2169-
assertThat(audioTrack.lastFormat.encoderDelay).isEqualTo(742);
2170-
assertThat(audioTrack.getSampleTimeUs(/* index= */ 0)).isEqualTo(0);
2171-
assertThat(audioTrack.getSampleTimeUs(/* index= */ expectedSampleCount - 1))
2172-
.isEqualTo(1_555_736);
2173-
}
2174-
21752148
@Test
21762149
public void transmux_videoWithEditList_trimsFirstIdrFrameDuration() throws Exception {
21772150
Context context = ApplicationProvider.getApplicationContext();

libraries/transformer/src/test/java/androidx/media3/transformer/TransformerWithInAppMp4MuxerEndToEndTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import androidx.media3.muxer.Muxer;
3838
import androidx.media3.test.utils.DumpFileAsserts;
3939
import androidx.media3.test.utils.FakeExtractorOutput;
40+
import androidx.media3.test.utils.FakeTrackOutput;
4041
import androidx.media3.test.utils.TestTransformerBuilder;
4142
import androidx.test.core.app.ApplicationProvider;
4243
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -252,6 +253,30 @@ public void transmux_withSettingVideoDuration_writesCorrectVideoDuration() throw
252253
assertThat(fakeExtractorOutput.seekMap.getDurationUs()).isEqualTo(expectedDurationUs);
253254
}
254255

256+
@Test
257+
public void transmux_audioWithEditList_preservesDuration() throws Exception {
258+
Transformer transformer =
259+
new TestTransformerBuilder(context).setMuxerFactory(new InAppMp4Muxer.Factory()).build();
260+
MediaItem mediaItem =
261+
MediaItem.fromUri(Uri.parse("asset:///media/mp4/long_edit_list_audioonly.mp4"));
262+
263+
transformer.start(mediaItem, outputPath);
264+
TransformerTestRunner.runLooper(transformer);
265+
266+
Mp4Extractor mp4Extractor = new Mp4Extractor(new DefaultSubtitleParserFactory());
267+
FakeExtractorOutput fakeExtractorOutput =
268+
androidx.media3.test.utils.TestUtil.extractAllSamplesFromFilePath(mp4Extractor, outputPath);
269+
assertThat(fakeExtractorOutput.seekMap.getDurationUs()).isEqualTo(1_562_100);
270+
assertThat(fakeExtractorOutput.numberOfTracks).isEqualTo(1);
271+
FakeTrackOutput audioTrack = fakeExtractorOutput.trackOutputs.get(0);
272+
int expectedSampleCount = 68;
273+
audioTrack.assertSampleCount(expectedSampleCount);
274+
assertThat(audioTrack.lastFormat.encoderDelay).isEqualTo(742);
275+
assertThat(audioTrack.getSampleTimeUs(/* index= */ 0)).isEqualTo(0);
276+
assertThat(audioTrack.getSampleTimeUs(/* index= */ expectedSampleCount - 1))
277+
.isEqualTo(1_555_736);
278+
}
279+
255280
/**
256281
* Returns specific {@linkplain Metadata.Entry metadata} from the media file.
257282
*

0 commit comments

Comments
 (0)