summaryrefslogtreecommitdiffstats
path: root/src/gsttools/gsttools.pro
Commit message (Collapse)AuthorAgeFilesLines
* GStreamer: Add support of Androidv5.14.0-beta2Val Doroshchuk2019-10-181-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since for Android GStreamer is distributed in archives, and should be staticlly linked, so by default it is not built and should be explicitly enabled within configuring by -gstreamer option. (currently it is auto and enabled if gstreamer exists) ("libs" of the gstreamer library in configure.json is empty to prevent any libs to be added while building any code that uses gstreamer library) Some base gst archives are fully included to Qt5MultimediaGstTools. Users would need to just use: QT += multimediagsttools-private Before building, GSTREAMER_ROOT_ANDROID env var should be set to point to gst binaries. Also all necessary plugins must be registered in user's code by GST_PLUGIN_STATIC_DECLARE/GST_PLUGIN_STATIC_REGISTER macros after QGstUtils::initializeGst(). and e.g. project file might contain: INCLUDEPATH += $$(GSTREAMER_ROOT_ANDROID)/armv7/include/ \ $(GSTREAMER_ROOT_ANDROID)/armv7/include/gstreamer-1.0 \ $(GSTREAMER_ROOT_ANDROID)/armv7/include/glib-2.0 \ $(GSTREAMER_ROOT_ANDROID)/armv7/lib/glib-2.0/include LIBS += -L$$(GSTREAMER_ROOT_ANDROID)/armv7/lib/ \ -L$$(GSTREAMER_ROOT_ANDROID)/armv7/lib/gstreamer-1.0 \ __here_list_of_plugins__ See video/android/gstreamer example Change-Id: Ie4e586fa8489f1bd23622763f5578abed1729272 Task-number: QTBUG-72125 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Gstreamer: Introduce support of OpenGL pluginVaL Doroshchuk2019-05-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since uploading to gl texture is quite performance-wise operation introduced integration of opengl plugin which can provide a way to avoid uploading to texture on each draw on qt's side. Which potentially fixes some performance issues especially on embedded devices. Added glupload and glcolorconvert gst elements to pipeline. For qml apps current opengl context is provided to the gst plugin to share opengl data with. It allows at the end to just use gl textures that created and filled inside the gst. For overlay apps, glimagesink element is added. Requires gstreamer-gl-1.0 to be installed. Since this plugin is almost always available, so enabling it by default will break behavior of current pipeline and might introduce some side effects. Thus also provided QT_GSTREAMER_USE_OPENGL_PLUGIN env var to explicitly enable OpenGL features from gst. After this change video frames will be texture based. But it is still possible to map frames to download their data. In case if the video surface does not support gl textures, glmemory will be anyway requested, which will lead to uploading data, downloading and uploading it again to textures in scene graph video node. Task-number: QTBUG-66162 Change-Id: I32044ba0bf0c0cf90434d72f8991ad00927e1380 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Remove the mirclient code as this is no longer availableAndy Shaw2019-02-191-9/+0
| | | | | | | | Fixes: QTBUG-73878 Change-Id: Ia178d41a3e152174865264c71a75e84cfc31462a Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Gerry Boland <gerry.boland@canonical.com> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* GstTools: move headers to correct folderJochen Seemann2019-01-311-6/+0
| | | | | | | | We don't need to have the headers of QtMMGstTools in a separate directory of the QtMultimedia module. Change-Id: If304ab5ee5741aec7cf7785352f5a571bc4ec240 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Gstreamer: Allow to use gst specific featuresVaL Doroshchuk2018-08-291-2/+6
| | | | | | | | | | | | | | Gstreamer implementation is located in a plugin. In case if there is a need to use some internal features QGstreamerPlayerControl and QGstreamerPlayerSession have been moved from plugin to QtMultimediaGstTools library. It allows to request media player control from QMediaService and use it as QGstreamerPlayerControl. Change-Id: I8e45480c4cd718b90b90d14a42bc56f6f924eae5 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* turn QGstTools into a proper private moduleJochen Seemann2017-06-121-9/+6
| | | | | | | | | | This patch moves the QGstTools lib to a private Qt module and marks the needed classes and functions with Q_DECL*, to improve cross-platform abilities. It's the first step to use the GStreamer backend on macOS and Windows platform. Change-Id: Idc23c72bcccb52dd501e169e9dfdc227856787fa Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Use QT_CONFIG macro to check for featuresLars Knoll2017-02-271-9/+2
| | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Fix mir detectionLars Knoll2016-11-231-2/+1
| | | | | | | | | The old check would have never triggered unless you compiled with CONFIG+=mir by hand. Change-Id: I1d418dce09adaedbdff366dfeb8f4036cac0f075 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Cleanup all maemo/meego specific codeLars Knoll2016-11-141-11/+0
| | | | | Change-Id: I6c6f28084c6b030928eebc53c5d0009b168ede6a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Move qtmultimedia over to the new config systemLars Knoll2016-11-141-28/+12
| | | | | | | | | | | | Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. And move all command line options over from qtbase, so that we can remove them from there in a second step. Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Adjust to qtConfig() changes in qtbaseLars Knoll2016-08-191-2/+2
| | | | | | Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* GStreamer: refactored widget and window control.Yoann Lopes2015-08-181-2/+4
| | | | | | | | | | | | | | | | | | | Instead of always using xvimagesink as GStreamer backend for the widget and window control (works only with X11), we now try to pick a video sink that fits the current configuration. It first tries a set of known video sinks that can work with the Qt platform plugin in use. If none is available, it dynamically picks a video sink available on the system that can be used with our backend. Even if the video sink is now picked in a smarter way, xcb is still the only supported platform plugin. The reason is that it's the only Unix plugin which can provide a valid native window handle. Additional work is needed to support other plugins like wayland or directfb. Change-Id: I3843dea363d6a0b85a6cc1f2952783b743e48ac6 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* GStreamer: port to 1.0.Yoann Lopes2014-11-271-21/+51
| | | | | | | | | | | | | | | 0.10 is still used by default. To enable GStreamer 1.0, pass GST_VERSION=1.0 to qmake for qtmultimedia.pro. Contributions from: Andrew den Exter <andrew.den.exter@qinetic.com.au> Ilya Smelykh <ilya@videoexpertsgroup.com> Jim Hodapp <jim.hodapp@canonical.com> Sergio Schvezov <sergio.schvezov@canonical.com> Change-Id: I72a46d1170a8794a149bdb5e20767afcc5b7587c Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Detect V4L availabilityLisandro Damián Nicanor Pérez Meyer2014-08-181-0/+2
| | | | | | | | | | Do not build related stuff if not found. Makes GStreamer support available on Hurd. Task-number: QTBUG-39762 Change-Id: I1f70b6975e5bef99ab2441aac4d90508bc8b64bd Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Tell glib not to complain about the use of API recently deprecatedThiago Macieira2014-04-071-0/+1
| | | | | | | | | | | | | | | | | When building with glib 2.32 or later, without this #define, it prints a warning saying: function "g_value_get_char" was declared deprecated ("Use 'g_value_get_schar' instead") Since g_value_get_schar is new in 2.32, we can't use it without #ifdef around the call point. Since the old and new functions are identical in behavior, just ask glib not to complain about the use of old functions. I don't know which is the minimum version of glib we require, so I went for the lowest available macro. Change-Id: I33f9aa8497fc6bd50fffb3c59ee7e8e7fcdfe110 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* GStreamer: cleanup system includes.Yoann Lopes2014-04-071-1/+1
| | | | | | | | | | | | Replaced some linux includes with <private/qcore_unix_p.h> to be more portable. Use qt_safe_open() and qt_safe_close() instead of ::open() and ::close(). Task-number: QTBUG-38061 Change-Id: Idb3f50d070ec1701cafba98e79e2e85824653a3a Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* use private linkage where possibleOswald Buddenhagen2013-10-311-8/+8
| | | | | | Task-number: QTBUG-34463 Change-Id: Iffbeed2f1a27fd38b5960afa9715815ac11b722a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Some cleanup in the GStreamer plugin.Yoann Lopes2013-09-201-22/+6
| | | | | | | | | | | | Removed QGstreamerVideoOverlay and related classes. It was used as 'Window' control but performs worse than QGstreamerVideoWindow which does basically the same thing using GStreamer ready-made components instead. Removed X11 dependencies and related configuration tests. It was only needed for QGstreamerVideoOverlay. Change-Id: I2ad2636ccf0060e56cd64f3d9e5b3c24dc75f5a3 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Change libresourceqt's .pc file.Robin Burchell2013-08-051-1/+1
| | | | | | | | The one public port of this library to Qt 5 changed the .pc to libresourceqt5, to avoid clashing with the Qt 4 version. Change-Id: I6a248606e20c4e7a8f432612ca00aded846264d9 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* make use of qtHaveModule()Oswald Buddenhagen2013-01-111-2/+2
| | | | | | | Change-Id: I14da5455b7dd4681254e1652395df5f5c65746bd Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove obsolete DEPENDPATH assignmentsOswald Buddenhagen2012-12-161-1/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: Iffd78b4c7cf8d048a822b75c481ac380b3d8d0f4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix VPATHOswald Buddenhagen2012-11-051-0/+1
| | | | | | | | | the code relied on the now removed qmake misfeature of adding DEPENDPATH to VPATH. Change-Id: I3bea30a25776eb945fbd65f9e9811c91d882893f Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Replaced endpoint control with audio input and output controlsDmytro Poplavskiy2012-07-241-2/+2
| | | | | Change-Id: I981aabe39d106ced4ee1240db9e5b653c6fa5e91 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* switch to new-style configure testsOswald Buddenhagen2012-06-251-3/+3
| | | | | Change-Id: Ib56d0cb24065c1f990aee5d7f41bfedfe75332a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Adapt to _qpa file rename in qtbase.Girish Ramakrishnan2012-05-091-1/+1
| | | | | | | | qtbase change 36547f4eff44361f7a6acd0cff107c0e47561f93 renamed qpa headers. Change-Id: I3d2f08fb969bf1b448b0105032d6111c6643a7a7 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Split gstreamer plugin into smaller plugins providing fewer servicesJonas Rabbe2012-04-271-1/+53
| | | | | | | | | | | | | | The gstreamer blob has been split into four plugins: audiodecoder, camerabin, mediacapture, and mediaplayer. Note: camerabin is still disabled because it is untested camerabin2 implementation. A new qmake configuration use_gstreamer_camera has been introduced and is needed for the mediacapture plugin to expose the camera service. This configuration has been disabled by default. Shared functionality has been moved to the internal gsttools library. Change-Id: Ifb2604f440cfa97513d39f5d7978766c88eaec45 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fix X11 and QPA compilation problemsJonas Rabbe2011-12-131-3/+3
| | | | | | | | | The X11 buffer pool was using outdated APIs, and as the 'qpa' configuration value is being removed, it caused the X11 code to be pulled in, and therefore cause compilation failures. Change-Id: I5fdaed854c6525716fccca44b5fbd0b850880cb9 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Changed QVideoSurfaceGstSink to take pools from pluginsJonas Rabbe2011-11-141-2/+4
| | | | | Change-Id: Iec743efc52513e2000276b9a18d1d9639c270699 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Make sure this library gets installed.Michael Goddard2011-10-141-0/+2
| | | | | | Change-Id: I6b556b3b22deae002d2d2cf47680f23e207b5d00 Reviewed-on: http://codereview.qt-project.org/6639 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Moved general gstreamer helper classes into separate library.Jonas Rabbe2011-10-121-0/+67
Cleaned up configuration of gstreamer with a separate config test. Change-Id: I1ec9ee466233687fbcfdc544a12d9fce578e4379 Reviewed-on: http://codereview.qt-project.org/6459 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>