diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2024-05-30 13:24:02 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2024-05-31 09:24:01 +0200 |
commit | f04e711ea34ad3ad5ee642047be5d56a18fa0b53 (patch) | |
tree | da72793b4016a307acb2355a77877a4f01af1049 /sd/source/ui/view/drviews3.cxx | |
parent | 2269b418f7af598ff8194acb9929c8bd6c4baeb1 (diff) |
tdf#145735 qt avmedia: Implement frame grabber
Add a new `QtFrameGrabber` class that implements
the `css::media::XFrameGrabber` interface and
return an instance of it in
`QtPlayer::createFrameGrabber`.
As there seems to be no direct way to retrieve
the image/frame of a video at a certain point
in time, create a separate `QMediaPlayer` instance
for the `QtFrameGrabber`, set a video sink, connect
to its `&QVideoSink::videoFrameChanged` signal and
start playing the video (and stop it again once the
first frame has been received) in order to retrieve
a corresponding frame.
From that `QVideoFrame`, a `QImage` can be retrieved
that can then be converted to an `XGraphic`.
With this in place, a frame from the actual video
is now displaced in Impress in non-presentation
mode instead of just a generic "video icon" placeholder
when opening a presentation containing a video,
(e.g. attachment 145517 from tdf#120452) when the
qt6 VCL plugin is in use.
Change-Id: I3bba3c0fb62a219ac632ceed03ec17f9078f18d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168255
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'sd/source/ui/view/drviews3.cxx')
0 files changed, 0 insertions, 0 deletions