summaryrefslogtreecommitdiff
path: root/avmedia/Library_avmediagst.mk
AgeCommit message (Collapse)Author
2022-08-26tdf#149971 avmedia: implement video crop support in the gsteamer backendMiklos Vajna
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
2021-12-10Generally determine Rdb content from gb_*_set_componentfile callsStephan Bergmann
...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>
2020-07-06avmedia: create instances with uno constructorsNoel Grandin
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>
2019-06-13Don't link avmediagst with gtk3 and qt5Jan-Marek Glogowski
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>
2019-06-09tdf#125219 qt5: Try qwidget5videosink on WaylandMichael Weghorn
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>
2019-06-03Drop extra define ENABLE_GTKSINKMichael Weghorn
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>
2017-10-10Revert "iOS, removed unneeded avmedia libraries"jan Iversen
sorry for the noise. This reverts commit 032b1e87078fe60cf8b59b756d93b02b278ed8c8.
2017-10-10iOS, removed unneeded avmedia librariesjan Iversen
add USE_AVMEDIA_DUMMY to .mk to stop libraries from being generated Change-Id: Ic8a81d681bfaa3f7124b3ad79007527517aaecd9
2017-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky
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>
2016-02-16gtk3+wayland: play video via gtksink gstreamer elementCaolán McNamara
Change-Id: Ib371fa06eda73962cbe94739e69a68b46c26e4bf
2015-05-20Fix reporting missing GStreamer pluginsStephan Bergmann
Change-Id: I99b5994b53a5768b4c0aa8dbd6f54b13b23b333a
2014-11-07Clarify configure GStreamer handlingJan-Marek Glogowski
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>
2014-04-28prefer makefile-gmake-modeTakeshi Abe
Change-Id: I9cc9bfbddd3a90e00eee3e674994e5d6207f9034
2013-08-29I doubt -DWINNT is neededTor Lillqvist
Change-Id: Ic88b4705c4fa79ac5be325c1a4d3cc881d514b6c
2013-04-30Move to MPLv2 license headers, with ESC decision and author's permission.Michael Meeks
2013-01-26gbuild: do not copy boost headers aroundMichael Stahl
- 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
2012-12-25Get rid of (most uses of) GUITor Lillqvist
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>
2012-09-28gbuild: invert handling of standard system libraries:Michael Stahl
Always link in gb_STDLIBS, except when the library explicitly opts out with gb_LinkTarget_disable_standard_system_libs. Change-Id: I489a99114fbfa46d0421a27cf6c7b899dc268a4a
2012-09-28gbuild: replace direct gb_STDLIBS use with ...Michael Stahl
... new gb_LinkTarget_add_standard_system_libs Change-Id: Ib2bc843098db3d8c6822b45a3d21724e67f57d69
2012-09-28gbuild: split uwinapi out of gb_STDLIBSMichael Stahl
Change-Id: I53316e0b9369d806197bccb42cf22d3497af43e7
2012-09-25avmedia: first cut at gstreamer frame grabber.Michael Meeks
with thanks to Tim-Philipp Müller and Wim Taymans. Change-Id: Ia095d06ea3cbed85570cc33038f98da0362c1e62
2012-08-09gstreamer: make gstreamer 1.0 and 0.10 dual compileMichael Meeks
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
2012-07-02targetted improvement of UNO API includes / usageMichael Meeks
2012-04-08gbuild: "use" vs. "add":Michael Stahl
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)
2012-03-10gbuild: get rid of realpath in gb_Foo_set_includeMatúš Kukan
2011-08-22convert avmedia to gbuildMatúš Kukan