From 841b4fba9a56ac6f97b33e93e560bfd9dc5a338b Mon Sep 17 00:00:00 2001 From: claincly Date: Wed, 25 Oct 2023 09:01:55 -0700 Subject: [PATCH] Fix GL releasing surface that doesn't need releasing PiperOrigin-RevId: 576545767 --- .../src/main/java/androidx/media3/common/util/GlUtil.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 7de9ef8a6d..584d137957 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -16,6 +16,7 @@ package androidx.media3.common.util; import static android.opengl.EGL14.EGL_CONTEXT_CLIENT_VERSION; +import static android.opengl.EGL14.EGL_NO_SURFACE; import static android.opengl.GLU.gluErrorString; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; @@ -873,6 +874,10 @@ public final class GlUtil { if (eglDisplay == null || eglSurface == null) { return; } + if (EGL14.eglGetCurrentSurface(EGL14.EGL_DRAW) == EGL_NO_SURFACE) { + return; + } + EGL14.eglDestroySurface(eglDisplay, eglSurface); checkEglException("Error destroying surface"); }