Я разрабатываю для программы, которая использует DirectFB и GStreamer-0.10. я использую gst_x_overlay_set_xwindow_id()
от gstxoverlay
библиотека GStreamer, чтобы сказать GStreamer для рендеринга в окно, созданное DirectFB. gst_x_overlay_set_xwindow_id()
требует, чтобы я дал ему идентификатор X Window, который я хочу визуализировать, но я не могу найти способ получить это из DirectFB.
Есть ли способ получить X Window ID окна, созданного DirectFB? Если нет простого способа, есть ли способ сделать хакерство с исходными файлами DirectFB для достижения этой цели?
Должно быть Window window;
как строка где-то в вашем коде directfb
, Попробуйте выставить его на код gstreamer.
Возьмите ручку окна оттуда, а затем вы можете использовать функцию ниже
gst_x_overlay_set_window_handle(GST_X_OVERLAY(yoursinkvariable), (guintptr) windowhandle);
Не совсем так, как вы просили, но это также может решить проблему.
Более того, gst_x_overlay_set_xwindow_id () устарела.
Из документации,
Предупреждение
gst_x_overlay_set_xwindow_id
устарела и не должна использоваться во вновь создаваемом коде. использование gst_x_overlay_set_window_handle()
вместо.
Других решений пока нет …