Age | Commit message (Collapse) | Author |
|
If a media shape had cropping defined, we already took that into account
when presenting a preview for it, but not during video playback.
The reason for this is that the preview may be set by a file importer
(e.g. PPTX) explicitly, in which case the preview is a bitmap we get
without any video processing.
As a start, implement video crop for the gstreamer backend (used on
Linux), and also pass in the media item (containing crop and other
properties) both during the edit view (MediaWindowImpl) and presenting
(ViewMediaShape). We pass in the whole media item, so in case later
other filters (e.g. black-and-white) are wanted, we have all that info
in the backends already.
Other backends (avmediaMacAVF and avmediawin) are untouched so far.
svx/qa/unit/data/video-snapshot.pptx is modified to have a yellow border
when cropping is unimplemented, which is now not visible with the
gtreamer backend, matching PowerPoint behavior. PPTX export was working
out of the box already.
Change-Id: If26b7a4391bcffe9cbddd9933e1bab69be52924e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138867
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb). To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget. (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)
Most Rdb_*.mk files are thus mostly empty now. One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.
1c9a40299d328c78c035ca63ccdf22c5c669a03b "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option. However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d328c78c035ca63ccdf22c5c669a03b):
1 Rdb_services shall not contain the component files of all libraries that are
built. While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).
2 The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.
3 The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.
4 Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.
The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled. I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.
Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
See tdf#74608 for motivation
Change-Id: Ibe3557a8d3be7c9af21a2b07e70252432ff12e0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98186
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
While the VCL plugins are dynamically loaded and therefore just
load their depending toolkit libraries, the GStreamer avmedia
backend now links against Qt and GTK+. The GStreamer API itself
is toolkit agnostic and the toolkit setup just uses a single
GStreamer symbol to create the specific video sink.
So the toolkit binding can simply be moved into the VCL plugin.
At the point of the GStreamer toolkit setup call the GStreamer
library is loaded by avmediagst, so the dlsym lookup should
never fail.
I also dropped the special GtkWidget handling. Using g_object_get
will increase the refcount of the widget. A g_object_unref after
adding it to the container seems to destroy it correctly.
Change-Id: I693947e441bceb4b09bc38920e308e39142d0a35
Reviewed-on: https://gerrit.libreoffice.org/73849
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Try to use GStreamer's qwidget5videosink when using the
qt5 (or kde5) VCL plugin on Wayland.
This is strongly inspired by commit
8543fbc72fafc0d71a8760752ca2ef5b7119cb5c
("gtk3+wayland: play video via gtksink gstreamer element").
qwidget5videosink allows to directly set a 'QWidget*'
for the sink's "widget" property to make it paint into this
widget, s. [1] for more details.
In order for this to work, the relevant Qt5 packages for
QtGStreamer need to be installed (provided e.g. by package
'qtgstreamer-plugins-qt5' on Debian). If qwidget5videosink
is available, video playback works as expected on Wayland.
If it is not available, GStreamer will create it's own
(misplaced) window(s) to show the video as is the case without
this commit.
Switching to e.g. qtglvideosink in the future may theoretically
improve performance, since that one uses OpenGL/OpenGLES and
supports hardware colorspace conversion and color balance, while
qwidgetvideosink does software painting (s. [1]).
Also, extending commit 9d18bc40416b651340804f44ba5fae65f3bbbcfa
("tdf#125271 under wayland without gtksink, try waylandsink") to
also work with (i.e. set the right window for) waylandsink on
qt5 may be worth to take a look at in the future, but didn't
"just work" in a quick attempt.
[1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer/html/qtvideosink_overview.html
Change-Id: I6e17838dcdf5c31a1a8a07f7836a4cf36c63bd06
Reviewed-on: https://gerrit.libreoffice.org/72968
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Directly use 'ENABLE_GTK3' instead, s.a. discussion at
https://gerrit.libreoffice.org/#/c/72968/ .
Change-Id: I9713cd942e3f7308974eebc432dce0d2bc5adadc
Reviewed-on: https://gerrit.libreoffice.org/73270
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
sorry for the noise.
This reverts commit 032b1e87078fe60cf8b59b756d93b02b278ed8c8.
|
|
add USE_AVMEDIA_DUMMY to .mk to stop libraries from being
generated
Change-Id: Ic8a81d681bfaa3f7124b3ad79007527517aaecd9
|
|
Uwinapi is discontinued.
Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01
Reviewed-on: https://gerrit.libreoffice.org/23198
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
Tested-by: David Ostrovsky <david@ostrovsky.org>
|
|
Change-Id: Ib371fa06eda73962cbe94739e69a68b46c26e4bf
|
|
Change-Id: I99b5994b53a5768b4c0aa8dbd6f54b13b23b333a
|
|
Currrently --disables-gstreamer disables GStreamer API 1.0 support
and --enable-gstreamer-0-10 enables GStreamer API 0.10 support. To
build with GStreamer API 0.10 you need to --disable-gstreamer and
--enable-gstreamer-0-10, which doesn't seem logical.
But actually it's possible to build both avmedia GStreamer backends,
so this changes:
* --disable-gstreamer to --disable-gstreamer-1-0
* configure variables to include the GStreamer API version "1_0"
* adapts the configure help text
Change-Id: Icffd8cfb9d80b3021e290675e7c9644c2a31fce8
Reviewed-on: https://gerrit.libreoffice.org/11912
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I9cc9bfbddd3a90e00eee3e674994e5d6207f9034
|
|
Change-Id: Ic88b4705c4fa79ac5be325c1a4d3cc881d514b6c
|
|
|
|
- do not use gb_UnpackedTarball_copy_header_files for boost
- adapt the optimization in concat-deps.c for new path
- use boost_headers in all LinkTargets that require it
- add explicit include paths to mysqlc, mysqlcppconn, libvisio, liborcus
Change-Id: I0c43e73ed43cc9d2e6bce8faf55e992d655a0bb9
|
|
GUI only takes values UNX or WNT, so it is fairly pointless. One can check
whether OS is WNT or not instead.
Change-Id: I78ae32c03536a496a563e5deeb0fca78aebf9c34
Reviewed-on: https://gerrit.libreoffice.org/1304
Reviewed-by: Peter Foley <pefoley2@verizon.net>
Tested-by: Peter Foley <pefoley2@verizon.net>
|
|
Always link in gb_STDLIBS, except when the library explicitly opts out
with gb_LinkTarget_disable_standard_system_libs.
Change-Id: I489a99114fbfa46d0421a27cf6c7b899dc268a4a
|
|
... new gb_LinkTarget_add_standard_system_libs
Change-Id: Ib2bc843098db3d8c6822b45a3d21724e67f57d69
|
|
Change-Id: I53316e0b9369d806197bccb42cf22d3497af43e7
|
|
with thanks to Tim-Philipp Müller and Wim Taymans.
Change-Id: Ia095d06ea3cbed85570cc33038f98da0362c1e62
|
|
Add fallback activation of an _OLD media component to the core.
Compile both a 0.10 and 1.0 version of the gstreamer component
Change-Id: I91f65d05391cb2d7e02f9cff18f96178a128705O1
|
|
|
|
Naming convention for gbuild methods:
- "add" is used for stuff that is logically a part of the target
(i.e. not registered at the Module, but defined in the target's makefile)
- "use" is used for stuff that is logically a different target
(i.e. it is registered at the Module, has it's own makefile, may be
in a different module than the target)
|
|
|
|
|