f04e711ea3
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>
45 lines
1.1 KiB
Makefile
45 lines
1.1 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
$(eval $(call gb_Library_Library,avmediaqt6))
|
|
|
|
$(eval $(call gb_Library_set_componentfile,avmediaqt6,avmedia/source/qt6/avmediaqt,services))
|
|
|
|
$(eval $(call gb_Library_use_custom_headers,avmediaqt6,avmedia/source/qt6))
|
|
|
|
$(eval $(call gb_Library_set_include,avmediaqt6,\
|
|
$$(INCLUDE) \
|
|
-I$(SRCDIR)/avmedia/source/inc \
|
|
-I$(SRCDIR)/avmedia/source/gstreamer \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_externals,avmediaqt6,\
|
|
qt6 \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_sdk_api,avmediaqt6))
|
|
|
|
$(eval $(call gb_Library_use_libraries,avmediaqt6,\
|
|
comphelper \
|
|
cppu \
|
|
cppuhelper \
|
|
sal \
|
|
salhelper \
|
|
tl \
|
|
vcl \
|
|
))
|
|
|
|
$(eval $(call gb_Library_add_exception_objects,avmediaqt6,\
|
|
avmedia/source/qt6/gstwindow \
|
|
avmedia/source/qt6/QtFrameGrabber \
|
|
avmedia/source/qt6/QtManager \
|
|
avmedia/source/qt6/QtPlayer \
|
|
))
|
|
|
|
# vim: set noet sw=4 ts=4:
|