see tdf#125219 for qt5/kf5
Steps to reproduce
0) Use qt6 VCL plugin in a Plasma Wayland session
1) open a presentation containing a video in Impress (e.g. attachment 145517 [details] from bug 120452)
2) start slide show by pressing F5
As of now, video is not shown properly. qt5/kf5 use GStreamer's "qwidget5videosink", but that one is not available for Qt 6 and will probably not be ported for qt6. From commit message of the commit that introduced the qt6 VCL plugin:
> commit 88d57cf241209ffec9eaed3e523942ab51af6db6
> Author: Michael Weghorn <firstname.lastname@example.org>
> Date: Wed Sep 29 11:09:51 2021 +0200
> qt6: Add a qt6 VCL plugin
> 6) There's currently no Qt 6 video sink for GStreamer.
> As of today, qt-gstreamer is unmaintained and there is no Qt 6 version.
> The project's README  says:
> > 0. Maintenance Notice
> > ---------------------
> > This code is unmaintained. You can use it at your own risk.
> > If you want to integrate video display in your QML-based UI,
> > you should consider using 'qmlglsink', from gst-plugins-good.
> > This is a well supported video sink that uses the generic
> > gstreamer-gl stack and is in many ways superior to 'qtquick2videosink'
> > that is provided by qt-gstreamer. You can use this code as an example:
> > https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples/qt/qmlsink
> > If you are not interested in using QML in your UI, then you
> > may use one of the other elements provided by this module
> > (see below). If you do that, it would be helpful to let us
> > know that this code is still useful to you. We may consider
> > adding these elements in one of the core gstreamer modules.
> > If you are here for the Qt-style bindings, I'm sorry to disappoint you.
> > The alternative is to use the C API, or the GStreamermm C++ API.
> > Qt-style bindings are cool, but unfortunately they are very hard
> > to maintain because they are written by hand. If you are interested
> > in continuing this project, you are welcome to implement a
> > generator for them, probably based on GObject-Introspection.
> > I am happy to provide directions if you want to pursue such a thing.
> Therefore, the Qt video sink handling is qt5-only and the
> corresponding handling for GOBJECT (used for the GStreamer
> video sink handling) was not taken over for qt6.
> This presumably means that video playback in Impress presentations
> does not work when using qt6 with they Qt Wayland plugin,
> s. tdf#125219 for the corresponding bug for qt5/kf5.
> (I did not build the qtwayland module to actually test this, though.
> Video playback with the Qt xcb plugin in a Wayland session works.)
>  https://doc-snapshots.qt.io/qt6-dev/extras-changes-qt6.html
>  https://cgit.freedesktop.org/gstreamer/qt-gstreamer/tree/README
2 potential ways forward:
1) Add support for GStreamer's waylandsink, similar to how this commit did for gtk3:
Author: Caolán McNamara <email@example.com>
Date: Thu May 23 17:09:51 2019 +0100
tdf#125271 under wayland without gtksink, try waylandsink
2) Maybe it makes sense to take a look whether implementing an own XPlayer using Qt's own video/media framework  makes sense, which uses GStreamer internally. The waylandsink approach e.g. has the drawback that Qt private API is needed to get a handle to the Wayland surface.
(In reply to Michael Weghorn from comment #1)
> 2) Maybe it makes sense to take a look whether implementing an own XPlayer
> using Qt's own video/media framework  makes sense, which uses GStreamer
> internally. The waylandsink approach e.g. has the drawback that Qt private
> API is needed to get a handle to the Wayland surface.
>  https://doc.qt.io/qt-5/videooverview.html
May be just revert deleted VLC embedded feature https://gerrit.libreoffice.org/c/core/+/108283 and to complete its implementing?
(In reply to Roman Kuznetsov from comment #2)
> May be just revert deleted VLC embedded feature
> https://gerrit.libreoffice.org/c/core/+/108283 and to complete its
Thanks, that might be another option to consider.
Caolan implemented a Gtk-based AV backend in
Author: Caolán McNamara <firstname.lastname@example.org>
Date: Thu Feb 10 12:55:18 2022 +0000
first cut at using Gtk4 built in video playback
Maybe we should switch to Qt Multimedia.
While playback works here in Impress presentation mode, playback in any component is broken. Qt Multimedia also uses GStreamer and should work better. Never tested Wayland.
Bug 147687 comment 2 says:
> OK, that's why. I'm on Fedora and the relevant package (qt5-gstreamer) was
> dropped after Fedora 30 on the basis that the source is no longer
> maintained. Is there an alternative that is still maintained?
So it *might* be worth considering to provide any solution created in the context of this ticket for qt5 as well (should that be reasonably simple).
*** Bug 147687 has been marked as a duplicate of this bug. ***