pygst - glimagesink 回调
我正在尝试在Python中使用'glimagesink'这个元素。这个元素内部是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
。
我找不到关于在Python中使用glimagesink或glfilterapp的任何文档。
这是可以工作的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)
1 个回答
0
这不是你遇到的问题(就我所知),但需要注意的是,这个API最近发生了变化。现在它需要一个空指针的数据,这样你在连接回调函数的时候,可以传入用户数据的句柄(或者传入NULL)。
gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data)