فيست - Glimagesink Callback
سؤال
أحاول استخدام عنصر "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 في بيثون):
رمز العمل 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)
المحلول
هذه ليست المشكلة التي تواجهها (بقدر ما أستطيع أن أقول)، لكن من المهم ملاحظة أن هذا API قد تغير مؤخرا، فهذا يتوقع مؤشر الفراغ للبيانات التي تتيح لك تمريرها في مقبض إلى User_Data (أو null) عند توصيل رد الاتصال بك.
gboolean drawCallback (GLuint texture, GLuint width, GLuint height, gpointer data)
لا تنتمي إلى StackOverflow