diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index 867830efbe..ff6a9d60bc 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -906,9 +906,12 @@ gst_ximagesink_xcontext_get (GstXImageSink * ximagesink) } /* extrapolate alpha mask */ - alpha_mask = ~(xcontext->visual->red_mask - | xcontext->visual->green_mask | xcontext->visual->blue_mask); - alpha_mask &= 0xffffffff; + if (xcontext->depth == 32) { + alpha_mask = ~(xcontext->visual->red_mask + | xcontext->visual->green_mask | xcontext->visual->blue_mask); + } else { + alpha_mask = 0; + } vformat = gst_video_format_from_masks (xcontext->depth, xcontext->bpp, endianness,