glvideomixer: fix blending with low-alpha sources
authorMatthew Waters <matthew@centricular.com>
Thu, 25 Sep 2014 15:34:54 +0000 (01:34 +1000)
committerMatthew Waters <matthew@centricular.com>
Thu, 25 Sep 2014 15:59:43 +0000 (01:59 +1000)
We also need to apply the blend paramaters to the alpha channel otherwise
the output of the blend will appear black at low alpha values (< 0.2).

ext/gl/gstglvideomixer.c

index 9ffdcb6..e04dec3 100644 (file)
@@ -649,9 +649,8 @@ gst_gl_video_mixer_callback (gpointer stuff)
     gl->EnableVertexAttribArray (attr_position_loc);
     gl->EnableVertexAttribArray (attr_texture_loc);
 
-    gl->BlendFuncSeparate (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE,
-        GL_ZERO);
-    gl->BlendEquationSeparate (GL_FUNC_ADD, GL_FUNC_ADD);
+    gl->BlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+    gl->BlendEquation (GL_FUNC_ADD);
 
     gl->ActiveTexture (GL_TEXTURE0);
     gl->BindTexture (GL_TEXTURE_2D, in_tex);