static void gst_eglglessink_init_egl_exts (GstEglGlesSink * eglglessink);
static gboolean gst_eglglessink_setup_vbo (GstEglGlesSink * eglglessink,
gboolean reset);
-static void gst_eglglessink_render_and_display (GstEglGlesSink * sink,
+static GstFlowReturn gst_eglglessink_render_and_display (GstEglGlesSink * sink,
GstBuffer * buf);
static inline gboolean got_gl_error (const char *wtf);
/* Logic would be to get _render_and_display() to use
* last seen buffer to render from when NULL it's
* passed on */
- g_mutex_lock (eglglessink->flow_lock);
- gst_eglglessink_render_and_display (eglglessink, NULL);
- g_mutex_unlock (eglglessink->flow_lock);
-
- return;
+ return gst_eglglessink_render_and_display (eglglessink, NULL);
}
/* Checks available egl/gles extensions and chooses
}
/* Rendering and display */
-static void
+static GstFlowReturn
gst_eglglessink_render_and_display (GstEglGlesSink * eglglessink,
GstBuffer * buf)
{
}
GST_DEBUG_OBJECT (eglglessink, "Succesfully rendered 1 frame");
- return;
+ return GST_FLOW_OK;
HANDLE_EGL_ERROR:
GST_ERROR_OBJECT (eglglessink, "EGL call returned error %x", eglGetError ());
HANDLE_ERROR:
GST_ERROR_OBJECT (eglglessink, "Rendering disabled for this frame");
+ return GST_FLOW_ERROR;
}
static GstFlowReturn
"available");
#endif
- gst_eglglessink_render_and_display (eglglessink, buf);
-
- return GST_FLOW_OK;
+ return gst_eglglessink_render_and_display (eglglessink, buf);
}
static gboolean