mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Remove missing frame workaround from TransformerPauseResumeTest
Two devices were producing B-frames earlier and were causing frame mismatch. So we had added a workaround for them. Those devices does not produce B-frames now after disabling high profile on them, so we don't need workaround now. PiperOrigin-RevId: 633127755
This commit is contained in:
parent
8fa72714db
commit
71e36ac6d2
@ -38,7 +38,6 @@ import androidx.media3.effect.RgbFilter;
|
||||
import androidx.media3.muxer.Muxer.TrackToken;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import com.google.common.base.Ascii;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
@ -100,8 +99,7 @@ public class TransformerPauseResumeTest {
|
||||
ExportResult exportResult = testRunner.run(testId, composition, firstOutputPath).exportResult;
|
||||
|
||||
assertThat(exportResult.processedInputs).hasSize(4);
|
||||
assertThat(exportResult.videoFrameCount)
|
||||
.isEqualTo(MP4_ASSET_FRAME_COUNT - getDeviceSpecificMissingFrameCount());
|
||||
assertThat(exportResult.videoFrameCount).isEqualTo(MP4_ASSET_FRAME_COUNT);
|
||||
// The first processed media item corresponds to remuxing previous output video.
|
||||
assertThat(exportResult.processedInputs.get(0).audioDecoderName).isNull();
|
||||
assertThat(exportResult.processedInputs.get(0).videoDecoderName).isNull();
|
||||
@ -192,8 +190,7 @@ public class TransformerPauseResumeTest {
|
||||
assertThat(exportResultWithResume.videoEncoderName)
|
||||
.isEqualTo(exportResultWithoutResume.videoEncoderName);
|
||||
assertThat(exportResultWithResume.videoFrameCount)
|
||||
.isEqualTo(
|
||||
exportResultWithoutResume.videoFrameCount - getDeviceSpecificMissingFrameCount());
|
||||
.isEqualTo(exportResultWithoutResume.videoFrameCount);
|
||||
// TODO: b/306595508 - Remove this expected difference once inconsistent behaviour of audio
|
||||
// encoder is fixed.
|
||||
int maxDiffExpectedInDurationMs = 2;
|
||||
@ -244,8 +241,7 @@ public class TransformerPauseResumeTest {
|
||||
assertThat(exportResultWithResume.videoEncoderName)
|
||||
.isEqualTo(exportResultWithoutResume.videoEncoderName);
|
||||
assertThat(exportResultWithResume.videoFrameCount)
|
||||
.isEqualTo(
|
||||
exportResultWithoutResume.videoFrameCount - getDeviceSpecificMissingFrameCount());
|
||||
.isEqualTo(exportResultWithoutResume.videoFrameCount);
|
||||
int maxDiffExpectedInDurationMs = 2;
|
||||
assertThat(exportResultWithResume.durationMs - exportResultWithoutResume.durationMs)
|
||||
.isLessThan(maxDiffExpectedInDurationMs);
|
||||
@ -279,7 +275,7 @@ public class TransformerPauseResumeTest {
|
||||
ExportResult exportResult = testRunner.run(testId, composition, firstOutputPath).exportResult;
|
||||
|
||||
assertThat(exportResult.processedInputs).hasSize(6);
|
||||
int expectedVideoFrameCount = MP4_ASSET_FRAME_COUNT * 2 - getDeviceSpecificMissingFrameCount();
|
||||
int expectedVideoFrameCount = 2 * MP4_ASSET_FRAME_COUNT;
|
||||
assertThat(exportResult.videoFrameCount).isEqualTo(expectedVideoFrameCount);
|
||||
// The first processed media item corresponds to remuxing previous output video.
|
||||
assertThat(exportResult.processedInputs.get(0).audioDecoderName).isNull();
|
||||
@ -342,8 +338,7 @@ public class TransformerPauseResumeTest {
|
||||
assertThat(exportResultWithResume.videoEncoderName)
|
||||
.isEqualTo(exportResultWithoutResume.videoEncoderName);
|
||||
assertThat(exportResultWithResume.videoFrameCount)
|
||||
.isEqualTo(
|
||||
exportResultWithoutResume.videoFrameCount - getDeviceSpecificMissingFrameCount());
|
||||
.isEqualTo(exportResultWithoutResume.videoFrameCount);
|
||||
int maxDiffExpectedInDurationMs = 2;
|
||||
assertThat(exportResultWithResume.durationMs - exportResultWithoutResume.durationMs)
|
||||
.isLessThan(maxDiffExpectedInDurationMs);
|
||||
@ -395,15 +390,6 @@ public class TransformerPauseResumeTest {
|
||||
return Util.SDK_INT == 26 && Util.isRunningOnEmulator();
|
||||
}
|
||||
|
||||
private static int getDeviceSpecificMissingFrameCount() {
|
||||
// TODO: b/307700189 - Remove this after investigating pause/resume behaviour with B-frames.
|
||||
return (Util.SDK_INT == 27
|
||||
&& (Ascii.equalsIgnoreCase(Util.MODEL, "asus_x00td")
|
||||
|| Ascii.equalsIgnoreCase(Util.MODEL, "tc77")))
|
||||
? 1
|
||||
: 0;
|
||||
}
|
||||
|
||||
private static final class FrameBlockingMuxerFactory implements Muxer.Factory {
|
||||
private final Muxer.Factory wrappedMuxerFactory;
|
||||
private final FrameBlockingMuxer.Listener listener;
|
||||
|
Loading…
x
Reference in New Issue
Block a user