如何获取DirectFB创建的X Window的ID?

时间:2013-09-16 19:22:58

标签: c++ c gstreamer directfb

我正在开发一个使用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来实现这个目标?

1 个答案:

答案 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()