pygst - devolución de llamada glimagesink
Pregunta
Estoy tratando de utilizar el elemento 'glimagesink' con el pitón.
El elemento (que es GObject dentro) ha client-draw-callback
propiedad que debe (en C ++ al menos) contienen un puntero de función (bool func(uint t, uint w, uint h)
).
He intentado element.set_property('client-draw-callback', myfunc)
, y la creación de puntero de función con ctypes, pero cada vez que dice, TypeError: could not convert argument to correct param type
he podido encontrar ninguna documentación sobre el uso de glimagesink o glfilterapp en Python):
El trabajo código C ++:
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)
Solución
Este no es el problema que tiene (por lo que puedo decir), pero es importante tener en cuenta que esta API ha cambiado recientemente, ahora se espera un puntero vacío de datos que le permite pasar de una manija para user_data (o NULL) cuando conecta la devolución de llamada.
gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data)