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:
sheenachhabra 2024-05-13 01:32:39 -07:00 committed by Copybara-Service
parent 8fa72714db
commit 71e36ac6d2

View File

@ -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;