meta-digi/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.4.5/egl-workaround-for-eglCreat...

43 lines
1.3 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 0d979b3a2a4e2db571545e84aeb854b326fa2234 Mon Sep 17 00:00:00 2001
From: Song Bing <b06498@freescale.com>
Date: Tue, 17 Mar 2015 10:21:28 +0800
Subject: [PATCH] [egl] workaround for eglCreateContext () isn't thread safe
Workaround for eglCreateContext () isn't thread safe
Upstream Status: Inappropriate [i.MX specific]
Signed-off-by: Song Bing b06498@freescale.com
---
gst-libs/gst/gl/egl/gstglcontext_egl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.c b/gst-libs/gst/gl/egl/gstglcontext_egl.c
index 4ccec8d..7ba1782 100644
--- a/gst-libs/gst/gl/egl/gstglcontext_egl.c
+++ b/gst-libs/gst/gl/egl/gstglcontext_egl.c
@@ -208,6 +208,8 @@ failure:
return FALSE;
}
+static GMutex test_mutex;
+
static gboolean
gst_gl_context_egl_create_context (GstGLContext * context,
GstGLAPI gl_api, GstGLContext * other_context, GError ** error)
@@ -336,9 +338,11 @@ gst_gl_context_egl_create_context (GstGLContext * context,
}
context_attrib[i++] = EGL_NONE;
+ g_mutex_lock (&test_mutex);
egl->egl_context =
eglCreateContext (egl->egl_display, egl->egl_config,
(EGLContext) external_gl_context, context_attrib);
+ g_mutex_unlock (&test_mutex);
if (egl->egl_context != EGL_NO_CONTEXT) {
GST_INFO ("gl context created: %" G_GUINTPTR_FORMAT,
--
1.7.9.5