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)
War es hilfreich?

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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top