From 7a30b97e02bde07d1dc154a94d8a2dd0ce69a10a Mon Sep 17 00:00:00 2001 From: Linus Nilsson Date: Thu, 26 Oct 2023 20:00:43 +0200 Subject: [PATCH] Parameterize EglRendererTest to also run with RenderSynchronizer Bug: b/307672498 Change-Id: I3577bdcaf1dc4c4ccca02e8d9e53a799b680ecc1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325183 Reviewed-by: Sergey Silkin Commit-Queue: Linus Nilsson Auto-Submit: Linus Nilsson Cr-Commit-Position: refs/heads/main@{#41027} --- .../src/org/webrtc/EglRendererTest.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/sdk/android/instrumentationtests/src/org/webrtc/EglRendererTest.java b/sdk/android/instrumentationtests/src/org/webrtc/EglRendererTest.java index 04e4ab47e8..5b3749afba 100644 --- a/sdk/android/instrumentationtests/src/org/webrtc/EglRendererTest.java +++ b/sdk/android/instrumentationtests/src/org/webrtc/EglRendererTest.java @@ -26,12 +26,18 @@ import androidx.test.filters.SmallTest; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.concurrent.CountDownLatch; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameter; +import org.junit.runners.Parameterized.Parameters; // EmptyActivity is needed for the surface. +@RunWith(Parameterized.class) public class EglRendererTest { private final static String TAG = "EglRendererTest"; private final static int RENDER_WAIT_MS = 1000; @@ -100,6 +106,9 @@ public class EglRendererTest { } } + @Parameter(0) + public boolean useRenderSynchronizer; + final TestFrameListener testFrameListener = new TestFrameListener(); EglRenderer eglRenderer; @@ -108,14 +117,24 @@ public class EglRendererTest { int oesTextureId; SurfaceTexture surfaceTexture; + @Parameters + public static Collection data() { + return Arrays.asList(new Object[] {true}, new Object[] {false}); + } + @Before public void setUp() throws Exception { PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions .builder(InstrumentationRegistry.getTargetContext()) .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) .createInitializationOptions()); + RenderSynchronizer renderSynchronizer = useRenderSynchronizer ? new RenderSynchronizer() : null; eglThread = - EglThread.create(null /* releaseMonitor */, null /* sharedContext */, EglBase.CONFIG_RGBA); + EglThread.create( + null /* releaseMonitor */, + null /* sharedContext */, + EglBase.CONFIG_RGBA, + renderSynchronizer); eglRenderer = new EglRenderer("TestRenderer: "); eglRenderer.init(eglThread, new GlRectDrawer(), false /* usePresentationTimeStamp */); oesTextureId = GlUtil.generateTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES);