窗口
,我可以使用x\u oerlay\u接口:
gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(xvsink), winid);
到目前为止,还不错。然而,只有当winid是顶层窗口的概念时,它才起作用,而不是子窗口小部件的情况。假设我有:
-
对话框小部件DialogWidget
-
视频小部件VideoWidget,是DialogWidget的子部件。
如果我使用
DialogWidget->winId()
,则视频显示正确。
如果我使用“VideoWidget->winId()”,那么我会收到来自Xv扩展的消息,告诉我
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 3 (X_GetWindowAttributes)
Resource id: 0x40000d5
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 2 (X_ChangeWindowAttributes)
Resource id: 0x40000d5
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x40000d5
X Error: BadGC (invalid GC parameter) 13
Extension: 132 (Uknown extension)
Minor opcode: 19 (Unknown request)
Resource id: 0x40000d5
X Error: BadGC (invalid GC parameter) 13
Extension: 132 (Uknown extension)
Minor opcode: 19 (Unknown request)
Resource id: 0x40000d5
我想有一个可调整大小的窗口与控制按钮等…,并在这个窗口,视频显示窗口或小部件或任何是一个合适的目标
gst_x_overlay_set_xwindow_id