From b366c56da2d14aec742fa880588352cb9c9042a9 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Tue, 23 Dec 2003 22:41:37 +0000 Subject: [PATCH] Fix 24bppLE RGB Original commit message from CVS: Fix 24bppLE RGB --- ChangeLog | 5 +++++ sys/ximage/ximagesink.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2431adf..55e9a2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-12-23 Ronald Bultje + + * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): + Fix for 24bpp display. + 2003-12-23 Colin Walters * ext/gnomevfs/gstgnomevfssink.c: Add ARG_HANDLE property that takes diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index dba8655..63a6490 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -455,9 +455,14 @@ gst_ximagesink_xcontext_get (GstXImageSink *ximagesink) if ((xcontext->bpp == 24 || xcontext->bpp == 32) && xcontext->endianness == G_LITTLE_ENDIAN) { xcontext->endianness = G_BIG_ENDIAN; - xcontext->visual->red_mask = GULONG_TO_BE (xcontext->visual->red_mask); - xcontext->visual->green_mask = GULONG_TO_BE (xcontext->visual->green_mask); - xcontext->visual->blue_mask = GULONG_TO_BE (xcontext->visual->blue_mask); + xcontext->visual->red_mask = GUINT32_TO_BE (xcontext->visual->red_mask); + xcontext->visual->green_mask = GUINT32_TO_BE (xcontext->visual->green_mask); + xcontext->visual->blue_mask = GUINT32_TO_BE (xcontext->visual->blue_mask); + if (xcontext->bpp == 24) { + xcontext->visual->red_mask >>= 8; + xcontext->visual->green_mask >>= 8; + xcontext->visual->blue_mask >>= 8; + } } xcontext->caps = gst_caps_new_simple ("video/x-raw-rgb", -- 2.7.4