Вопрос

Я пытаюсь использовать элемент glimagesink с Python.Элемент (внутри которого находится GObject) имеет client-draw-callback свойство, которое должно (по крайней мере, в C++) содержать функцию (bool func(uint t, uint w, uint h)) указатель.я пробовал element.set_property('client-draw-callback', myfunc), и создаю указатель на функцию с помощью ctypes, но каждый раз, когда он говорит: TypeError: could not convert argument to correct param type

Я мог бы найти любую документацию по использованию glimagesink или glfilterapp в Python):

Рабочий код С++:

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)
Это было полезно?

Решение

Это не та проблема, с которой вы столкнулись (насколько я могу судить), но важно отметить, что этот API недавно изменился, теперь он ожидает указатель void данных, который позволяет передать дескриптор в user_data (или NULL) при подключении обратного вызова.

gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top