summaryrefslogtreecommitdiffstats
path: root/avmedia/source/gstreamer/gstplayer.cxx
Commit message (Collapse)AuthorAgeFilesLines
* gtk: make sidebar media panel "play video" workCaolán McNamara2020-02-041-5/+4
| | | | | | | | | | | blank impress, insert video, use sidebar media panel to play video, without this chage the video playes in a toplevel window because the size is 0x0 so the widget doesn't get created in the first place Change-Id: I7200423a693fb475dede357071ef10030c5bb790 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87696 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
* Extend loplugin:salbool to loplugin:fakeboolStephan Bergmann2019-11-131-1/+1
| | | | | | | | | | | | | | | | | ...checking for unnecessary uses of more "fake bool" types. In the past, some of the checks involving the types of variables or data members, or the return types of functions, issued warnings that required surrounding code to be changed too (e.g., when changing the signature of a function whose address was taken). These checks have been tightened now to not warn in such cases (which avoids warnings that require changes to additional code, or changes that might even be impossible to make, at the cost of being less aggressive about removing all unnecessary uses of those "fake bool" types). Change-Id: I70eb75039817cda34ed611387ee27dc5f36a3e2e Reviewed-on: https://gerrit.libreoffice.org/82554 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Replace SystemEnvData pToolkit/pPlatformName strings with enumsStephan Bergmann2019-10-061-6/+3
| | | | | | | | | (and streamline those data members' names) Change-Id: Ifdd596c7a54dd507045d412c30b463468c2f798b Reviewed-on: https://gerrit.libreoffice.org/80313 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Minor comment/README update wrt "kde5" and "gtk" VCL pluginsMichael Weghorn2019-10-011-1/+1
| | | | | | | | | | "kde5" was renamed to "kf5" and "gtk" (i.e. gtk2) VCL plugin was removed in commit 1ae450504cf57457f9702684b1517fda1dd3c481. Change-Id: I294d2463fa77d6a740fc0a43039b5e6a2653846c Reviewed-on: https://gerrit.libreoffice.org/79908 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
* Improved loplugin:stringconstant (now that GCC 7 supports it): avmediaStephan Bergmann2019-07-311-1/+1
| | | | | | | Change-Id: I3736d81f73658105b877cd9577c6023ca4ca0805 Reviewed-on: https://gerrit.libreoffice.org/76698 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* avmedia: Drop 'wrap_*' functionsMichael Weghorn2019-07-221-14/+2
| | | | | | | | | | | | Just call the corresponding GStreamer functions directly. The wrapper functions are pointless since commit 6b911ae9eb9484bebbdc1323210020486f5ef33f ("Drop support for gstreamer-0.10"). Change-Id: I2963bd25a83632f4e693a1691180790452edffda Reviewed-on: https://gerrit.libreoffice.org/76116 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
* cid#1448380: Resource leak (avmedia/gstplayer)Julien Nabet2019-07-041-3/+2
| | | | | | | | Change-Id: Ieaf5f68f17558f27e187241869c8fe01f8e29ba2 Reviewed-on: https://gerrit.libreoffice.org/75094 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Don't link avmediagst with gtk3 and qt5Jan-Marek Glogowski2019-06-131-109/+52
| | | | | | | | | | | | | | | | | | | | | | 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>
* tdf#125821 don't crash on missing gstreamer pluginsJan-Marek Glogowski2019-06-131-8/+16
| | | | | | | | | | | | | | | | | | If GStreamer can't auto-detect an audio sink via "autoaudiosink", it'll return a nullptr. If the volume plugin is missing, then this currently also results in a crash. So check the gst_element_factory_make results before using the objects and change some wrong mpPlaybin checks to the right mpVolumeControl ones. This works for me without any audio and volume plugins. Since we are linked against libgstaudio, I assume the bin is always there. Change-Id: Ide526363d810ea48d0a62539c0a435553783e34a Reviewed-on: https://gerrit.libreoffice.org/73848 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
* Fix typoAndrea Gelmini2019-06-091-1/+1
| | | | | | | Change-Id: If234124feaf85cdac60f27a91480893c1e57878c Reviewed-on: https://gerrit.libreoffice.org/73729 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* tdf#125219 qt5: Try qwidget5videosink on WaylandMichael Weghorn2019-06-091-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Drop support for gstreamer-0.10Michael Weghorn2019-06-071-97/+4
| | | | | | | | | | | | | | Drop all GStreamer 0.10 support according to ESC decision of 2019-06-06. GStreamer 0.10 is obsolete and no longer needed, superseded by GStreamer 1.0 which is available in baseline (RHEL 7 or CentOS 7) and all relevant distros. Change-Id: Ic317eba04d2c17e141acc983f37fbfa4301c9f3f Reviewed-on: https://gerrit.libreoffice.org/73619 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* Drop extra define ENABLE_GTKSINKMichael Weghorn2019-06-031-4/+4
| | | | | | | | | | 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>
* tdf#125271 under wayland without gtksink, try waylandsinkCaolán McNamara2019-05-271-5/+50
| | | | | | | | | and if there is no videosink then give up Change-Id: I6b60e7be1e77dbf5c4c277ccf47a4d121f3cd6a5 Reviewed-on: https://gerrit.libreoffice.org/72871 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* tdf#124027: use ID of the embedded window and fix position of overlayKatarina Behrens2019-05-211-8/+16
| | | | | | | | | | | | | | | | | 1) after many trials and errors what LibO apparently expects here is the ID of QWindow parent of [embedded] system child window 2) the position of the embedded window for video overlay has already been translated relative to the top-left corner of the slide (see bugfix of tdf#42873 how) in gen, gtk and kde5 vclplugs. So let's limit translating it 2nd time only to gtk3 vclplug which for some reason behaves differently (regression from 18138417485aeba6c52d935c616dba829b24ffd8) Change-Id: Ie4c6d14a50959c0fdd04e745918d4889c9da45ec Reviewed-on: https://gerrit.libreoffice.org/72458 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
* Simplify containers iterations in accessibility, avmediaArkadiy Illarionov2019-03-161-4/+4
| | | | | | | | | Use range-based loop or replace with STL functions Change-Id: I47cabb02a2e52f2af8e87379fc44906d2a732d19 Reviewed-on: https://gerrit.libreoffice.org/69334 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* tdf#123653 let gstreamer gst video overlay bypass events.Mark Hung2019-02-241-0/+1
| | | | | | | Change-Id: I4a10f1b8b0220c91c41bc9b3bf37024d6ccbaf04 Reviewed-on: https://gerrit.libreoffice.org/68243 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
* gst 0.10 doesn't have gst_video_overlay_set_render_rectangleCaolán McNamara2019-02-191-1/+2
| | | | Change-Id: I499e32ce86fabd18c52ac2f99713af0933572f7c
* avmedia: set gstreamer gst_video_overlay size and position.Mark Hung2019-02-191-1/+20
| | | | | | | | | | | Have video fit to the media object size on the slide, allow more complicated interactions. Change-Id: Ice1fa4b521176ad7ed7f7d1d2b13e617e8282390 Reviewed-on: https://gerrit.libreoffice.org/67978 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* tdf#40780 extend default media duration from 0.01s to 0.3s.Mark Hung2019-02-151-1/+1
| | | | | | | | | | | | | | Player can only update the duration when the state of the GStreamer pipeline changes. But GStreamer need some time to get ready. However the default duration (0.01s) is so short that the audio node is deactivated before the duration update. Hence I just pick up a value that is long enough to allow update happen empirically. Change-Id: If94133fde09e414bd9ea3c4b162a13d5c70f4524 Reviewed-on: https://gerrit.libreoffice.org/67783 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
* clang-tidy performance-inefficient-vector-operationNoel Grandin2018-09-051-1/+3
| | | | | | | Change-Id: Iebcaea7b08c5284946d83b6b6b9ed26b218025d4 Reviewed-on: https://gerrit.libreoffice.org/59992 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Add missing sal/log.hxx headersGabor Kelemen2018-07-091-0/+1
| | | | | | | | | | | | | | | | rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories from a* to configmgr Change-Id: I6ea1a7f992b1f835f5bac7a725e1135abee3f85a Reviewed-on: https://gerrit.libreoffice.org/57170 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
* More loplugin:cstylecast: avmediaStephan Bergmann2018-01-121-4/+4
| | | | | | | | auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: Id1ad7f5c7beeea0c749a2ed48dedd03c50945b80
* gtk3: make video playback fill playback windowCaolán McNamara2017-07-191-0/+2
| | | | | | | Change-Id: I43f2f77889856dc6a3b0c3a3775826dbb000be7a Reviewed-on: https://gerrit.libreoffice.org/40168 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* loplugin:comparisonwithconstant in accessibility..basegfxNoel Grandin2017-05-191-1/+1
| | | | | | | | | | re-running this plugin on these modules now that sberg has improved the plugin. Change-Id: I1818b1fa540cf62b81219a4f3ed2dcae8ff0e838 Reviewed-on: https://gerrit.libreoffice.org/37805 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:comparisonwithconstant in avmediaNoel Grandin2017-05-161-1/+1
| | | | | | | Change-Id: Iba0a1969648e95f6e0f6a947f067c5b8e4eb3406 Reviewed-on: https://gerrit.libreoffice.org/37667 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* revert OSL_ASSERT changesChris Sherlock2017-05-071-1/+1
| | | | Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
* tdf#43157: convert avmedia module away from OSL_ASSERT to assertChris Sherlock2017-05-071-1/+1
| | | | Change-Id: Ie484788019f11299c4e4796268507b9b16b7fd4a
* Fix typosAndrea Gelmini2017-03-261-1/+1
| | | | | | | | Change-Id: Idbf0aa261b829e83d4c08a2e989a4ced871dc6de Reviewed-on: https://gerrit.libreoffice.org/35616 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* Remove dynamic exception specificationsStephan Bergmann2017-01-261-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | ...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Remove _TYPED suffix from tools/link.hxx macrosStephan Bergmann2016-10-051-2/+2
| | | | | | | | | ...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually typed Link" to distinguish the new, typed versions from the old, untyped ones, but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173 "remove untyped Link<>" removed the old versions. Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
* tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctorMuhammet Kara2016-08-041-3/+1
| | | | | | | | | | in SoundHandler, FrameGrabber, Manager, MissingPluginInstaller, and several classes in 'avmedia' module. Change-Id: I9ab42d2ef95f3b0c724a7be9eb9e2389336a6f38 Reviewed-on: https://gerrit.libreoffice.org/27777 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
* Resolve: "TODO(Q1): Make GetSystemData method virtual"Caolán McNamara2016-05-191-1/+1
| | | | | | | | | and remove the casting silliness, allowing the removal of cairo_cairo.?xx If anything is to go wrong I'd guess it'll be the windows directx stuff. Change-Id: I3e22c07b9c26ade9b27a245fdd8408de540643f4
* rename to two GetSystemData methods to find all call-sitesCaolán McNamara2016-05-191-1/+1
| | | | | | | | | | | | | | | anyplace calling GetSystemChildSystemData on a SystemChildWindow is definitely right anyplace calling GetWindowSystemData on a Window *might* have intended to call GetSystemChildSystemData on a Window casted back to an underlying SystemChildWindow. Change-Id: I7dcf3a50d0b7ed29bc08cfdb15cc0dcb86be8fa7 Reviewed-on: https://gerrit.libreoffice.org/25158 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* Insert explicit "break" when falling through to empty next caseStephan Bergmann2016-05-101-0/+1
| | | | | | | ...which itself only contains a "break" (or nothing at all at the end of the "switch"), as otherwise Clang -Wimplicit-fallthrough would warn about these. Change-Id: I25c1cf2ca74dfeba7ca0385ca8f1c1bf30bbf91b
* tdf#96505 Remove 0L occurences from avmedia and basegfx modulesslideon2016-03-311-4/+4
| | | | | | | | | No compiler warnings on my machine Change-Id: Ibd303c64f04f6f52272ac19c3069da2f14cb4e9a Reviewed-on: https://gerrit.libreoffice.org/23558 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
* Resolves: tdf#96989 videos playback at maximum possible volumeCaolán McNamara2016-03-171-6/+22
| | | | | | | | | | On systems with flat-volumes then setting the volume directly on the playbin to 100% results in resetting the global volume to the maximum possible volume. We expect to set as % of the current system volume. Putting an intermediate volume object into the pipeline does the more expected thing. Change-Id: I911d6fffba0983e4fd7b455e820959a96115de34
* fix for 10 sec hang with audio-only formats with gstreamer1Caolán McNamara2016-03-101-1/+2
| | | | | | | just do the same as we did for gstreamer 0.10 and set the size found condition once we get the message even if there is no size Change-Id: I826d76dd1097432e5bd33d4acc1a187b8e5068da
* loplugin:cstylecastStephan Bergmann2016-02-161-1/+1
| | | | Change-Id: I17025698070d3140eb2d09b705020ee4e0ee97c1
* gtk3+wayland: play video via gtksink gstreamer elementCaolán McNamara2016-02-161-55/+99
| | | | Change-Id: Ib371fa06eda73962cbe94739e69a68b46c26e4bf
* Formatting changes across all modulesChris Sherlock2016-02-091-22/+21
| | | | | | | | | | | | | | + Removed comment cruft + Tab formatting in number of files + Some commented out code removed + Tab characters replaced with spaces + Newline cleanup in quite a few files + Tweak header guard #endifs Change-Id: I3208ff2f047da890edcc49b73389aca22442f5fc Reviewed-on: https://gerrit.libreoffice.org/22221 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* Fix typosAndrea Gelmini2016-01-051-1/+1
| | | | | | | Change-Id: I3fba2c76c83381eb398c80947ef4849bccf7ab27 Reviewed-on: https://gerrit.libreoffice.org/21078 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
* loplugin:unusedfieldsNoel Grandin2015-12-241-2/+1
| | | | | | | Change-Id: I979592adb978c3757a1e54615021ee424a2e02bf Reviewed-on: https://gerrit.libreoffice.org/20892 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
* loplugin:unusedfields in avmediaNoel Grandin2015-12-231-1/+1
| | | | Change-Id: I725a80cf7b6f2b728e650d0f365d063931b17ea7
* loplugin::stringconcatStephan Bergmann2015-12-201-3/+3
| | | | Change-Id: I212293d369be8279d886379359fc90e930ad9719
* Fix mis-edit in d0652bfd2b87fad10c141e3bf3f5d0c0a8683cb5Tor Lillqvist2015-12-201-1/+1
| | | | Change-Id: I637544c19c407389041343c951e7cbb7129bc1a2
* Change a local DBG macro to SAL_INFOTor Lillqvist2015-12-201-40/+26
| | | | | | | | | | But actually, I am starting to lean more and more towards the opinion that very little of our debug output code is actually useful to keep in the sources permanently. When somebody wants to debug some part of the code, they will very likely want to add much more detailled tracing anyway, temporarily. Change-Id: I6a60a130e3b72ba3d6ad32a1b22a2a9f3ac66b27
* loplugin:nullptr: More NULL -> nullptr automatic rewriteStephan Bergmann2015-12-101-10/+10
| | | | Change-Id: Ie83819e2bcdc5fa160b39296b005ca9a5ff74b1d
* use initialiser for Sequence<OUString>Noel Grandin2015-11-151-2/+1
| | | | | | | | | | | | using variations of: git grep -lP 'Sequence.*OUString.*\(\s*1\s*\)' | xargs perl -0777 -pi -e "s/Sequence<OUString> (\w+)\(1\)\; \s*OUString\* pArray.*; .*\[0\]\s*=\s*(\S+)\;/Sequence<OUString> \1 { \2 };/g" Change-Id: I03c64334ff30ee14dce0d17b67f5122a3893bbe3 Reviewed-on: https://gerrit.libreoffice.org/19971 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
* loplugin:nullptr (automatic rewrite)Stephan Bergmann2015-11-101-21/+21
| | | | Change-Id: Ib3f24439ffda42d217300dcc0ca979964ade360a