我已经链接了一个正常工作的管道。 它包含:
我知道它工作正常,因为媒体被发送到autovideosink,但问题是我的应用程序打开了“GStreamer Direct3D接收器默认窗口”并在那里输出视频。
autovideosink通过以下方式连接到QVideoWidget:
video_widget_1->setAttribute(Qt::WA_NativeWindow, true); // this is a QVideoWidget, still, this may be unnecessary
WId win_1_id = video_widget_1->winId();
QApplication::sync(); // may be unnecessary
gst_x_overlay_set_window_handle(GST_X_OVERLAY(data->el_autovideo_snk_1), win_1_id);
我不打算使用QtGstreamer,因为我发现它很难安装。
如果我设置一个只包含playbin2的简单管道,并将其连接到视频单元,则媒体会正确显示到窗口小部件中。
所以playbin2正确输出到视频单元,但是autovideosink没有。为什么?
我错过了什么吗?或者有替代autovideosink吗?