我正在开发一个使用DirectFB和GStreamer-0.10的程序。我正在使用来自GStreamer的gst_x_overlay_set_xwindow_id()
库的gstxoverlay
来告诉GStreamer渲染到DirectFB创建的窗口。 gst_x_overlay_set_xwindow_id()
要求我为它提供我要渲染的X Window的ID,但我似乎找不到从DirectFB获取它的方法。
有没有办法获取DirectFB创建的窗口的X Window ID?如果没有任何简单的方法,有没有办法用DirectFB的源文件做一些hackery来实现这个目标?
答案 0 :(得分:0)
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()
。