summaryrefslogtreecommitdiffstats
path: root/src/multimediawidgets
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-06-031-8/+17
|\ | | | | | | Change-Id: Id1638836ea3faf16c4ba39119029522b2afbe803
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-031-8/+17
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/directshow/player/directshowplayerservice.cpp Change-Id: I6b7edc312ecfadf84653ce24321ec55da41e131a
| | * Use QOpenGLContext::makeCurrent if QGLContext::makeCurrent failedVaL Doroshchuk2019-05-141-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QPainterVideoSurface::setGLContext(QGLContext::currentContext()) is used and no valid paint device has been provided to QGLContext, it fails to make the context current. Thus there might be no available current context which might also produce crashes. QGLContext::currentContext() creates QGLContext based on current QOpenGLContext instance, and no paint device is available in QGLContext::device() in this case. Currently QVideoWidget and QGraphicsVideoItem are effected. It is relevant when a renderer calls currentContext->doneCurrent() before using the QPainterVideoSurface. After this there is no any current context which could cause a crash, e.g. within compiling the shaders. Task-number: QTBUG-74277 Change-Id: Ia28f4f6843a82a897399fd1ce2463e3b087b6437 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-05-181-5/+9
|\| | | | | | | | | | | Change-Id: I82d63ba32a0c9f8b883d00ef1bd68df3a10da96c
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-141-5/+9
| |\| | | | | | | | | | Change-Id: I03225f5e980a69246b046351f7d7d8e84f102ca0
| | * QGraphicsVideoItem: Always use generic painter when no gl paint engineVaL Doroshchuk2019-05-131-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If eglfs is used, then there is valid current gl context and it has OpenGL shader programs (QGLShaderProgram::hasOpenGLShaderPrograms). This gl context makes QPainterVideoSurface to use QVideoSurfaceGlslPainter instead of QVideoSurfaceGenericPainter. QOpenGLCompositorBackingStore uses QImage as a QPaintDevice. In this case QPainter::beginNativePainting does nothing because of QRasterPaintEngine. Since QVideoSurfaceGlslPainter is supposed to work with a gl paint engine and not with a raster one, this prevents rendering any video content. To work this around, view->setViewport(new QOpenGLWidget) could be used, where QOpenGL2PaintEngineEx will be taken into account. If platform was not eglfs, QGLContext::currentContext() could be unavailable which made QPainterVideoSurface to use QVideoSurfaceGenericPainter and the video was rendered correctly. QVideoSurfaceGenericPainter should be used when the paint engine is not gl based. Task-number: QTBUG-57836 Change-Id: Id4839facddb2494ec5abf729ea80068eb5e2af1d Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | Fix type of the out parameter "result" of the native event filtersFriedemann Kleint2019-03-252-0/+8
|/ / | | | | | | | | | | | | | | Task-number: QTBUG-72968 Change-Id: I31da3bd3e8a775243b94e02e3659e2d00e46b9b6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-161-0/+4
|\| | | | | | | Change-Id: I947a3b4aaf39e56b9505ae802b8b31c718922639
| * Fix static build on WindowsKai Koehne2019-02-111-0/+4
| | | | | | | | | | | | Fixes: QTBUG-73464 Change-Id: I5d1052dec14bbe6ee69b348352991d14d63b9c76 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Fix warnings about deprecated QPalette enumerations and functionsFriedemann Kleint2019-01-141-1/+1
|/ | | | | | | | | | videowidget.cpp:625:32: warning: 'Background' is deprecated: Use QPalette::Window instead [-Wdeprecated-declarations] qgstreamervideowidget.cpp:56:36: warning: 'Background' is deprecated: Use QPalette::Window instead [-Wdeprecated-declarations] qgstreamervideowidget.cpp:56:36: warning: 'Background' is deprecated: Use QPalette::Window instead [-Wdeprecated-declarations] qgstreamervideowidget.cpp:83:55: warning: 'const QBrush& QPalette::background() const' is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] Change-Id: Ieb55a57c5672d3023a48461ec347fbb30210fd1e Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Windows: Repaint QVideoWidget when WM_PAINT or WM_ERASEBKGND receivedVal Doroshchuk2018-11-292-0/+21
| | | | | | | | | | | | | | | | Since updates are disabled, and no paint events will be sent to QVideoWidget, need to somehow repaint the video window. When BeginPaint is called outside of the expose event, the window might not be refreshed. So moved calling the repainting within the expose event. Also added repainting when the display rect is changed to immediate refreshing. Task-number: QTBUG-71326 Change-Id: I7c29b3f8ad35e33590c7b138a5141546ce3c1a42 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* GraphicsVideoItem: Interpret ARGB32 as premultipliedVal Doroshchuk2018-10-051-4/+5
| | | | | | | | | | Do not convert ARG32 to premultiplied. Rather interpret it as premultiplied. Should be better even if SSE2 is disabled. Task-number: QTBUG-52114 Change-Id: Ic63f59dc8a940d6d73c618ef3a75b47a0950fff3 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Doc: Move the literal codeblocks to snippet filesVenugopal Shivashankar2018-06-213-6/+59
| | | | | Change-Id: Icd9dff16b807d0bc7143a3d41f9799432035fa54 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix target rectangle coordinates while painting image with QPainterVal Doroshchuk2018-03-221-2/+3
| | | | | | | | | | | | | QRectF::setX() may change the width. QRectF::setY() may change the height. If either width or height has been adjusted incorrect target rect is applied to draw an image which will cause some artefacts to be shown (like rectangle with a garbage) and incorrect size of actual content. Task-number: QTBUG-53594 Change-Id: Iee92aaf908952d7809e8ad62f8d1126b7ecac642 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Fix blank QVideoWidget when it is pausedVal Doroshchuk2018-03-223-37/+5
| | | | | | | | | | | | | If playback is paused latest video frame is shown. If after that the window is deactivated (unfocused or hidden) the picture is cleared. And just empty area is shown. Provided following fixes: 1. Prevented clearing the painted video picture when the window is unfocused. 2. Repainted latest video frame again when the window gets back from hidden state to shown. Task-number: QTBUG-65780 Change-Id: I62b3c6e25133a7d08a5060a5ab9f6b35d927fbd4 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Allow to receive mouse move events in QVideoWidgetVaL Doroshchuk2018-03-211-1/+3
| | | | | | | | | | | | No move events are being received for QVideoWidget even with enabled Qt::WA_MouseTracking. All these events are ignored because video widget from QVideoWidgetControl always has disabled Qt::WA_MouseTracking. Proxied this mouse tracking property to video widget. Task-number: QTBUG-30728 Change-Id: Ic196042596906ce8b5674b62ea66f5e035ba3cfe Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix typosJarek Kobus2018-02-141-1/+1
| | | | | Change-Id: I05983bca18d41ca6440e5e0b04102a8ac8e42136 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-121-1/+1
|\ | | | | | | Change-Id: I397c78d33594f4b64d9718cd1b180fa0cee1e5bc
| * Merge remote-tracking branch 'origin/5.9' into 5.105.10Liang Qi2018-02-021-1/+1
| |\ | | | | | | | | | Change-Id: I0564f22f9001d373ad03426dd6d9f584fbab7115
| | * Doc: Fix name of Multimedia Widgets moduleKai Koehne2018-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | Drop spurious 'Quick' added in 7638848d2486e2. Change-Id: If11c55a2654ccea2ba674e0b8a4193f8d2b36610 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-201-0/+9
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm Change-Id: Ic43fb2a805ed9f0f2ea48993d47859716f1f11b4
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-181-0/+9
| |\| | | | | | | | | | Change-Id: I7566f543ce11ff6cddc4d17e2c258a582f365b65
| | * Document licensesKai Koehne2018-01-181-0/+9
| | | | | | | | | | | | | | | Change-Id: I827a8de356f42217a64191a467fa850e3eb6f4ef Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-061-2/+2
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I5acdc7e0bd3729b80522dfff0f388cf2507fb111
| * | Fix rendering issue with QGraphicsView and QOpenGLWidget viewportVaL Doroshchuk2017-12-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since QOpenGLWidget always renders offscreen (uses QOffscreenSurface) the surface size is always (1, 1). Task-number: QTBUG-53099 Change-Id: I3803efba57e04c676eda85f0e29efa34f8d8d5e5 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Port away from QRegion::rects()Marc Mutz2017-12-041-4/+2
| | | | | | | | | | | | | | | | | | | | | Use begin()/end() instead. Change-Id: Ifa17458190186b987533bd705717ddaec5fc94d4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-201-0/+4
|\| | | | | | | | | | | Change-Id: Icaf645e271b21320c4cb6269178d9e722092a263
| * | Convert ARGB32 to premultipliedVal Doroshchuk2017-11-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not render into ARGB32 images using QPainter. Using premultiplied version is significantly faster. Task-number: QTBUG-52114 Change-Id: Ia057788d5af0fb303a69310a7c7a197ec7f76516 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-272-6/+6
|\| | | | | | | | | | | Change-Id: Ib509a8c90dd6c7229510a400612cc27a4957d015
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-272-6/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimedia/declarative-radio/view.qml src/plugins/qnx/mediaplayer/mmrenderermediaplayercontrol.h Change-Id: I97b507878b6de04ec38ddd13530e58b8f72390e4
| | * Fix outdated FDL license headerKai Koehne2017-10-182-6/+6
| | | | | | | | | | | | | | | Change-Id: I9cd7043058352ba2aeded74f86d863fca29bd37d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-191-0/+2
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qnx/mediaplayer/mmreventmediaplayercontrol.h Change-Id: Ic6e27742ef6d1af0532ad05902a1431ebd5f449d
| * | MultimediaWigets/MSVC2013: Increase virtual memory range for PCH, take 2v5.10.0-beta2Friedemann Kleint2017-10-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Limit to MSVC2013 as later version supposedly have smarter allocation. Task-number: QTBUG-63724 Change-Id: Iaf7e98796e882e6a59f200baabec8d16e5c4a5c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Revert "MultimediaWigets/MSVC2013: Increase virtual memory range for PCH"Friedemann Kleint2017-10-161-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that the change does not help. The problem is related to insufficient virtual memory at boot-up. This reverts commit c1f3e76b4d5d84d7e6b22076191a737908924e72. Task-number: QTBUG-63724 Change-Id: I4df17d8f2c48684c732267432a4bc090b712083f Reviewed-by: Liang Qi <liang.qi@qt.io>
| * | MultimediaWigets/MSVC2013: Increase virtual memory range for PCHFriedemann Kleint2017-10-131-0/+2
| |/ | | | | | | | | | | | | | | Limit to MSVC2013 as later version supposedly have smarter allocation. Task-number: QTBUG-63724 Change-Id: Ifdbbe3997843de4f00e279d5bfd4a75846567541 Reviewed-by: Liang Qi <liang.qi@qt.io>
* / Replace Q_NULLPTR with nullptrKevin Funk2017-09-274-5/+5
|/ | | | | Change-Id: I3b7601b4a97f8a2b1d2da6ef134f1577846ba713 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove unnecessary #includev5.9.0-beta1Paul Olav Tvete2017-03-241-1/+0
| | | | | | | Fixes build error with -no-feature-dialog Change-Id: I51a2dc2a515e9c3449ef3d3ece78ea3ba32d34fb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build with -no-feature-graphicsviewPaul Olav Tvete2017-03-072-7/+10
| | | | | Change-Id: Id5f0f90b816e878f828dd246b36ea3b4fc444e87 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devYoann Lopes2017-01-262-4/+21
|\ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimediawidgets/videographicsitem/videoplayer.h src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp Change-Id: Id5ce05ffe2cd25657232157b162680b2e24a35ba
| * QWindowVideoWidgetBackend: scale coordinates passed to controlFriedemann Kleint2017-01-112-4/+21
| | | | | | | | | | | | | | | | | | Use native coordinates when setting the display rectangle. Task-number: QTBUG-57145 Change-Id: I4783edcbee021e6020e8ca946f15cca8a1173589 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Add missing override and remove redundant virtualAlexander Volkov2016-12-126-76/+76
|/ | | | | Change-Id: Ifd439abf21877adff57080489324bea729ee5279 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Remove leftover OpenGl ES 1 related macrosLars Knoll2016-11-164-12/+12
| | | | | | Change-Id: I9b1e31e3d1bcfbffc448551be5654f8818baf91a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Cleanup all maemo/meego specific codeLars Knoll2016-11-144-1189/+1
| | | | | Change-Id: I6c6f28084c6b030928eebc53c5d0009b168ede6a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Adjust to qtConfig() changes in qtbaseLars Knoll2016-08-191-5/+2
| | | | | | Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-101-12/+7
|\ | | | | | | | | | | | | Conflicts: src/plugins/winrt/qwinrtcameracontrol.cpp Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
| * Fix macro redefinition warningChristian Stromme2016-04-271-12/+7
| | | | | | | | | | | | | | Don't re-define APIENTRY macros unconditionally on mac. Change-Id: I894f866da0ec0d6da76a62f01c24739be92d851f Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-075-7/+7
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/mediaplayer.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro Change-Id: I5742596230dc510ba2a09eba624429bb67179194
| * Add explicit and make public headers compile with ↵Marc Mutz2016-03-034-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Wzero-as-null-pointer-constant ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Cleaned up placement of * and & in parameters as a drive-by. Added explicit where it was missing as a drive-by. This is not a source-incompatible change, because code that breaks by this is a bug. Let's not have this sitting around in an LTS. Task-number: QTBUG-45291 Change-Id: If81ed0c71393aee21d347f5ade4bf3fcc07cd82f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-2/+2
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1917-238/+340
| | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I324f65c61171f36641472964d095d72e452afb3a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>