2009-12-02 18 views
0

我想用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 typepygst - glimagesink回調

我能找到使用蟒蛇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) 

回答

0

這不是你遇到的問題(據我所知),但重要的是要注意這個API最近已經改變了,現在它期望一個無效的數據指針,它允許你通過在連接回調函數時處理user_data(或NULL)的句柄。

gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data) 
+0

我剛剛檢查了#gstreamer,顯然這個API不能在python中使用。 – tmatth 2010-02-16 18:41:19