Any GstMessageType above GST_MESSAGE_EXTENDED not usable with python3 on windows

philippe renon philippe_renon at
Mon Aug 28 12:45:24 UTC 2017

Will file a bug when it is possible. I currently get a 500 when hitting the "Submit Bug" button.
In the meantime, I have been researching the code.
The OverflowError emanates from PyLong_AsLong(PyObject *obj) method (
But I am having a hard time finding the call path that leads to this method being called...

I should be able to build all components involved (gstreamer, gst-python, gobject-instrospection, pyobject) from source so I can try things out given some pointers or guidance.

    Le Lundi 28 août 2017 11h34, Sebastian Dröge <sebastian at> a écrit :

 On Sat, 2017-08-26 at 21:18 +0000, philippe renon wrote:
> Hi,
> The following python3 code:
>     import gi
>     gi.require_version("Gst", "1.0")
>     from gi.repository import Gst
>     print(Gst.MessageType.get_name(Gst.MessageType.DEVICE_ADDED)) 
> fails on windows 32 and 64 with this error:
>     OverflowError: Python int too large to convert to C long
>     The above exception was the direct cause of the following
> exception:
>     Traceback (most recent call last):
>       File "", line 4, in <module>
>         print(Gst.MessageType.get_name(Gst.MessageType.DEVICE_ADDED))
>     SystemError: gi.FunctionInfo(get_name) returned a result with an
> error set
> The same is true for any GstMessageType above or equal to
> My understanding of the issue is that, something, somewhere, is
> trying to map the Gst enum/flag to a C long.
> On Windows, according to [1], a long is a signed 32 bit integer
> (range is –2147483648 through 2147483647).
> But GST_MESSAGE_EXTENDED (and above enums) are too big to fit a
> Windows C long.
> GST_MESSAGE_EXTENDED = (1 << 31) = 2147483648 > 2147483647.
> I found a somewhat similar issue :
> g.cgi?id=732633
> But this issue is related to signed vs unsigned (and is fixed in
> 1.12.2).
> Is that issue fixable ? If yes, where should I look : pyobject,
> gobject-introspection, ... ?

Please file a bug about this. It's probably not fixable without changes
in the Python bindings (by using an unsigned int here instead of a
signed one) or ABI changes on the GStreamer side.

Sebastian Dröge, Centricular Ltd · https://www.centricular.com_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list