سؤال

أحاول استخدام عنصر "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)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top