From b4722ef1eac336b849bac07ebe68135a7e483fe3 Mon Sep 17 00:00:00 2001 From: claincly Date: Mon, 8 Jul 2024 03:44:45 -0700 Subject: [PATCH] Make timeout longer for emulators Some test is flaky because frame processing is quite slow and triggered this time out. PiperOrigin-RevId: 650191068 --- .../java/androidx/media3/effect/ExternalTextureManager.java | 2 +- .../androidx/media3/transformer/ForceEndOfStreamTest.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java index e9149a6096..f69595a1a2 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java @@ -74,7 +74,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * operation takes a long time to finish, the timeout could be a result of slow GL operation back * pressured the decoder, and the decoder is not able to decode another frame. */ - private static final long SURFACE_TEXTURE_TIMEOUT_MS = isRunningOnEmulator() ? 10_000 : 500; + private static final long SURFACE_TEXTURE_TIMEOUT_MS = isRunningOnEmulator() ? 20_000 : 500; // Wait delay between checking whether a registered frame arrives on the SurfaceTexture. private static final long SURFACE_TEXTURE_WAIT_DELAY_MS = 10; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java index fffebe4f78..efd1ebc809 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java @@ -16,6 +16,7 @@ package androidx.media3.transformer; +import static androidx.media3.common.util.Util.isRunningOnEmulator; import static androidx.media3.transformer.AndroidTestUtil.FORCE_TRANSCODE_VIDEO_EFFECTS; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET; import static androidx.media3.transformer.AndroidTestUtil.assumeFormatsSupported; @@ -53,6 +54,8 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class ForceEndOfStreamTest { + // Referenced from ExternalTextureManager + private static final long SURFACE_TEXTURE_TIMEOUT_MS = isRunningOnEmulator() ? 20_000 : 500; private final Context context = ApplicationProvider.getApplicationContext(); @Rule public final TestName testName = new TestName(); @@ -125,6 +128,7 @@ public class ForceEndOfStreamTest { context, new FrameDroppingDecoderFactory(context, MP4_ASSET.videoFrameCount, framesToSkip), Clock.DEFAULT)) + .setMaxDelayBetweenMuxerSamplesMs(SURFACE_TEXTURE_TIMEOUT_MS) .build(); }