我有一个用于渲染视频流的 C#/Mono 应用程序,直到最近,我一直在使用自己内部开发的 InterOp 绑定。
我现在正从那种方法转向使用 GStreamer# 的方法,因为这可能会减少维护工作量,至少对我来说是这样 :-)
由于我需要将独立的视频流绑定到特定的DrawableArea小部件,因此我的方法捕获了 GStreamer 消息,然后使用函数gst_is_video_overlay_prepare_window_handle_message(msg)(a)检查它们。
如果返回 true,然后我会调用 来响应,之前使用 获取的小部件的句柄在gst_video_overlay_set_window_handle(xid)哪里。xidgdk_x11_window_get_xid()
我的问题是:通过 GStreamer# 代码搜索,我找不到执行绑定的等效函数,所以我想知道这是如何完成的。
有人有什么建议或信息可以提供吗?
这两个函数的源代码在里面,gst-plugins-base-1.4.4/gst-libs/gst/video/videooverlay.c所以,在紧要关头,我可以虚拟化我自己的函数来完成这项工作(或者只是坚持我们的绑定),但在我看来,这将被包含在GStreamer# 因为渲染到特定的小部件似乎是一个非常方便的工具。
(a)那些 GStreamer 摇摆不定。他们必须用所有不必要的打字来替换他们的键盘:-)