[vlc-devel] [PATCH] opengl: interop_android: disable if GL_OES_image_external is unavailable

Alexandre Janniaux ajanni at videolabs.io
Sat Nov 14 12:15:07 CET 2020


Hi,

Typo in the commit title (missing _EGL) fixed locally.

Regards,
--
Alexandre Janniaux
Videolabs

On Fri, Nov 13, 2020 at 06:32:47PM +0100, Alexandre Janniaux wrote:
> The necessary symbols are typically existing when running inside
> renderdoc tracing environnement but the extension is not exposed in
> renderdoc since it doesn't support it.
> ---
>  modules/video_output/opengl/interop_android.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/modules/video_output/opengl/interop_android.c b/modules/video_output/opengl/interop_android.c
> index 686ce5f981..abecb18354 100644
> --- a/modules/video_output/opengl/interop_android.c
> +++ b/modules/video_output/opengl/interop_android.c
> @@ -30,6 +30,7 @@
>  #include <vlc_plugin.h>
>  #include "interop.h"
>  #include "../android/utils.h"
> +#include "gl_api.h"
>
>  struct priv
>  {
> @@ -144,6 +145,14 @@ Open(vlc_object_t *obj)
>       || !interop->vctx)
>          return VLC_EGENERIC;
>
> +    const char *extensions = interop->api->vt.GetString(GL_EXTENSIONS);
> +    if (!vlc_gl_StrHasToken(extensions, "GL_OES_EGL_image_external"))
> +    {
> +        msg_Warn(&interop->obj, "GL_OES_EGL_image_external is not available,"
> +                " disabling android interop.");
> +        return VLC_EGENERIC;
> +    }
> +
>      android_video_context_t *avctx =
>          vlc_video_context_GetPrivate(interop->vctx, VLC_VIDEO_CONTEXT_AWINDOW);
>
> --
> 2.29.2
>


More information about the vlc-devel mailing list