Why doesn't autovideosink displays video on connected Qt5' QVideoWidget?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Why doesn't autovideosink displays video on connected Qt5' QVideoWidget?

mapcol
 have linked a pipeline that works correctly. It contains a:

    playbin2
    tee -> outputs on udp branch (not relevant) and video branch, which contains:
    queue
    videoconvert (ffmpegcolorspace)
    autovideosink

I know it works correctly because the media is sent to the autovideosink, yet the problem is that my application opens a "GStreamer Direct3D sink default window" and outputs the video there.

The autovideosink is connected to the QVideoWidget with:

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

I don't plan to use QtGstreamer since I found it very difficult to install.

If I set a simple pipeline containing only a playbin2, and I connect it to the videowidget, the media gets correctly displayed into the widget.

So playbin2 correctly outputs to the videowidget, but autovideosink no. Why?

Am I missing anything? Or is there an alternative to autovideosink?


If you can, please answer on my stackoverflow question

Here works as well :) thx