GST_START_TEST (test_constructors)
{
GstBufferPool *pool = NULL;
- GstGLShader *shader = NULL;
GstGLSLStage *stage = NULL;
GstGLColorConvert *convert = NULL;
GstGLOverlayCompositor *compositor = NULL;
fail_if (pool == NULL);
gst_object_unref (pool);
- shader = gst_gl_shader_new (context);
- fail_if (shader == NULL);
- gst_object_unref (shader);
-
stage = gst_glsl_stage_new_default_fragment (context);
fail_if (stage == NULL);
gst_object_unref (stage);
_construct_with_activated_context (GstGLContext * context, gpointer unused)
{
GstGLFramebuffer *framebuffer = NULL;
+ GstGLShader *shader = NULL;
framebuffer = gst_gl_framebuffer_new (context);
fail_if (framebuffer == NULL);
gst_object_unref (framebuffer);
+
+ shader = gst_gl_shader_new (context);
+ fail_if (shader == NULL);
+ gst_object_unref (shader);
}
GST_START_TEST (test_constructors_require_activated_context)
GST_END_TEST;
+static void
+create_frag_shader (GstGLContext * context, GstGLSLStage ** stage)
+{
+ *stage = gst_glsl_stage_new_default_fragment (context);
+}
+
GST_START_TEST (test_default_fragment)
{
GstGLSLStage *stage;
GError *error = NULL;
- stage = gst_glsl_stage_new_default_fragment (context);
+ gst_gl_context_thread_add (context,
+ (GstGLContextThreadFunc) create_frag_shader, &stage);
+
fail_unless (stage != NULL);
fail_unless (GL_FRAGMENT_SHADER == gst_glsl_stage_get_shader_type (stage));