我正在为一个使用DirectFB和GStreamer0.10的程序进行开发。我使用GStreamer的gstxoverlay库中的gst_x_overlay_set_xwindow_id()告诉GStreamer渲染到DirectFB创建的窗口。gst_x_overlay_set_xwindow_id()要求我给它我想要渲染的X窗口的ID,但是我似乎找不到从DirectFB获取的方法。
有没有办法获得DirectFB创建的窗口的X窗口ID?如果没有任何简单的方法,有没有办法对DirectFB的源文件做一些黑客操作来实现这一点?
发布于 2013-09-19 20:44:39
在你的directfb代码中一定有像Window window;这样的代码行。尝试将其公开给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()。
https://stackoverflow.com/questions/18835665
复制相似问题