pygst - rappel glimagesink
Question
Je suis en train d'utiliser l'élément « glimagesink » avec python.
L'élément (ce qui est à l'intérieur GObject) a client-draw-callback
propriété qui doit (en C ++ au moins) contiennent un pointeur de fonction (bool func(uint t, uint w, uint h)
).
J'ai essayé element.set_property('client-draw-callback', myfunc)
, et la création d'un pointeur de fonction avec ctypes, mais chaque fois qu'il dit, TypeError: could not convert argument to correct param type
Je pourrais trouver des documents sur l'utilisation glimagesink ou glfilterapp en python):
Le c ++ travail code:
gboolean drawCallback (GLuint texture, GLuint width, GLuint height)
{ ... }
GstElement* glimagesink = gst_element_factory_make ("glimagesink", "glimagesink0");
g_object_set(G_OBJECT(glimagesink), "client-draw-callback", drawCallback, NULL)
La solution
Ce n'est pas le problème que vous rencontrez (pour autant que je peux dire) mais il est important de noter que cette API a changé récemment, maintenant il attend un pointeur vide de données qui vous permet de passer dans une poignée à USER_DATA (ou NULL) lorsque vous connectez votre rappel.
gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data)