ximagesrc: only extrapolate alpha mask for 32-bit depth
authorTim-Philipp Müller <tim@centricular.com>
Thu, 27 Mar 2014 19:51:50 +0000 (19:51 +0000)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 27 Mar 2014 20:32:13 +0000 (16:32 -0400)
Instead of passing bogus alpha mask values when there's no alpha.

https://bugzilla.gnome.org/show_bug.cgi?id=726833

sys/ximage/gstximagesrc.c

index fd9944f..cdb4a1d 100644 (file)
@@ -1073,8 +1073,12 @@ gst_ximage_src_get_caps (GstBaseSrc * bs, GstCaps * filter)
   GST_DEBUG ("width = %d, height=%d", width, height);
 
   /* extrapolate alpha mask */
-  alpha_mask = ~(xcontext->r_mask_output
-      | xcontext->g_mask_output | xcontext->b_mask_output);
+  if (xcontext->depth == 32) {
+    alpha_mask = ~(xcontext->r_mask_output
+        | xcontext->g_mask_output | xcontext->b_mask_output);
+  } else {
+    alpha_mask = 0;
+  }
 
   format =
       gst_video_format_from_masks (xcontext->depth, xcontext->bpp,