1

我正在开发一个使用 DirectFB 和 GStreamer-0.10 的程序。我使用GStreamergst_x_overlay_set_xwindow_id()gstxoverlay库来告诉 GStreamer 渲染到 DirectFB 创建的窗口。gst_x_overlay_set_xwindow_id()要求我给它我要渲染到的 X Window 的 ID,但我似乎找不到从 DirectFB 获取它的方法。

有什么方法可以获取 DirectFB 创建的窗口的 X Window ID?如果没有任何简单的方法,有没有办法用 DirectFB 的源文件做一些黑客行为来完成这个?

4

1 回答 1

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

于 2013-09-19T12:44:38.917 回答