Skip to content

Python bindings of libvlc truncate returned pointers on 64-bit architectures

For functions, like libvlc_media_new_location or libvlc_media_player_new, which return pointers to objects that the python bindings wrap, like Media or MediaPlayer, ctypes need to be told that the return type is a ctypes.c_void_p. Otherwise, it seems to assume the returned value is a 32-bit int and will happily truncate the pointer.

I'll attach a patch for the generator that fixes the problem. The patch depends on another patch I attached to #4678 (closed). I've only been able to test the patch on linux ubuntu 10.10 64-bit with VLC 1.1.4 and a debian squeeze 32-bit with VLC 1.1.3. Also I don't have a complicated enough python app to get full coverage of all the libvlc functions that return pointers. So if anyone can help with more testing that would be great!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information