pygst - glimagesink Rückruf
Frage
Ich versuche, 'glimagesink' Element mit Python zu verwenden.
Das Element (das GObject innen) hat client-draw-callback
Eigenschaft, die sollte (in C ++ mindestens) eine Funktion (bool func(uint t, uint w, uint h)
) Zeiger enthalten.
Ich habe element.set_property('client-draw-callback', myfunc)
versucht und das Erstellen von Funktionszeigern mit ctypes, aber jedesmal, wenn er sagt, TypeError: could not convert argument to correct param type
Ich konnte keine Dokumente finden auf mit glimagesink oder glfilterapp in Python):
Die Arbeits c ++ 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)
Lösung
Das ist nicht das Problem, das Sie haben (soweit ich das beurteilen kann), aber es ist wichtig zu beachten, dass Diese API hat sich kürzlich geändert, jetzt ist es ein void-Zeiger von Daten erwartet, die Sie in einem Griff passieren lässt (oder NULL) USER_DATA, wenn Sie Ihren Rückruf an.
gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data)