[gst-devel] desired behaviour of "(int) ...." and deserialization functions

David Schleef ds at schleef.org
Thu Jun 23 11:50:24 CEST 2005


On Thu, Jun 23, 2005 at 01:03:39PM +0200, Thomas Vander Stichele wrote:
> So, the questions:
> 
> a) is this interpretation of compiler-like casting what we want to
> achieve ?
> b) or should we say instead that the value you specify should fit
> naturally into the data type ? In that case, rgb masks would need to be
> specified as (uint), since (int) 0xFF000000 is outside the range of
> G_TYPE_INT; or it could be specified as int64.
> c) what do people feel should happen when you try to deserialize the
> string "-1" as a G_TYPE_UINT ? Should it fail because it's out of range,
> or should it be deserialized to the value you get when you do (guint)
> -1 ?

I think you're overanalysing this.  We use bitmasks that overload
the sign bit because that's what we've always done, back to the
days when adding a type was nigh impossible.  I don't think anyone
is particularly attached to overloading the sign bit; I don't even
think anyone is attached to using bitfields, or even expressing them
using the int type.  Personally, I find "red_mask=(int)-16777216"
rather annoying, since it doesn't describe what's actually going on,
i.e., "bits 24-31".



dave...

-- 
David Schleef
Big Kitten LLC (http://www.bigkitten.com/) -- data acquisition on Linux




More information about the gstreamer-devel mailing list