summaryrefslogtreecommitdiffstats
path: root/src/plugins/common/evr/evrcustompresenter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* DirectShow: Fix clang-tidy warnings about else after returnFriedemann Kleint2018-09-051-13/+11
| | | | | | | | | - Unindent the code or replace by switch () - Smaller fixups when reindenting (nullptr, use QStringView for comparison against wchar_t) Change-Id: I249cb00b9ebe375b089d8d53b10c2d16d5771680 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* DirectShow: Fix clang-tidy warnings about loopsFriedemann Kleint2018-09-051-17/+10
| | | | | | | - Replace by range-based for Change-Id: Ie73bf5b6e1ebd90e4db653af0791ec88b68ed883 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* DirectShow: Fix clang-tidy warnings about C-style castsFriedemann Kleint2018-09-051-15/+25
| | | | | | | Replace by reinterpret_cast<>. Change-Id: Iebcac7858d875e2d6f53db21489d86beb19ba947 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* DirectShow: Fix clang-tidy warnings about class definitionsFriedemann Kleint2018-09-051-1/+1
| | | | | | | | | | | | - Use ' = default' for trivial constructors/destructors - replace virtual by override or add override where applicable - Replace trivial constructors by member initialization for simple structs - Add Q_DISABLE_COPY where applicable - Mark move assignment/move constructors as noexcept - Remove unused member variables Change-Id: I579fb69ebcd945b94de32b827d93e5a4dab4df97 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* DirectShow: Use pixel aspect ratioVal Doroshchuk2017-12-081-7/+0
| | | | | | | | | | | | | | | Originally pixel aspect ratio was clearing (set to 1,1) within renegotiating the media type. Which caused samples with not standard pixel aspect ratio (1,1) to be rendered with black squares on the top and the bottom. (Original size was kept but PAR cleared) Added a fix to keep PAR while adjusting the media type to optimal one and set original PAR to QVideoSurfaceFormat. Task-number: QTBUG-64438 Change-Id: I6d1a5c441b89bbd5cea86667cc570bb7eb19068b Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Fix Clang warnings about unused fieldsFriedemann Kleint2017-11-021-1/+0
| | | | | | | | | | evrcustompresenter.h(371,16): warning: private field 'm_sampleToPresent' is not used [-Wunused-private-field] qwindowsaudiooutput.h(119,10): warning: private field 'resuming' is not used [-Wunused-private-field] qwindowsaudiooutput.h(142,14): warning: private field 'result' is not used [-Wunused-private-field] ^ qwindowsaudiooutput.h(143,13): warning: private field 'header' is not used [-Wunused-private-field] Change-Id: Iaf9e422678e6e53aeb3a0c0f7c1c52c1301a0b9d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Fix namespaced build with MinGWFriedemann Kleint2017-04-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | Remove QT_USE_NAMESPACE from headers and enclose headers/sources in QT_BEGIN/END_NAMESPACE. Fixes MinGW build error: qtbase/src/corelib/global/qtypeinfo.h:246:7: error: specialization of 'template<class T> class tn::QTypeInfo' in different namespace [-fpermissive] class QTypeInfo<TYPE > \ ^ qtbase/src/corelib/global/qtypeinfo.h:265:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO_BODY' Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS) ^ helpers\directshowmediatype.h:92:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO' Q_DECLARE_TYPEINFO(DirectShowMediaType, Q_MOVABLE_TYPE); ^ qtbase/src/corelib/global/qtypeinfo.h:57:7: error: from definition of 'template<class T> class tn::QTypeInfo' [-fpermissive] class QTypeInfo ^ Task-number: QTBUG-60118 Change-Id: Idfe7a49b50a0046a5cb17630a3ec99615ec6150a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-211-10/+10
|\ | | | | | | Change-Id: Ieb1a3081907093e31e8c8b7f95993bb3b2173672
| * DirectShow: Fix MinGW warnings about signedness of comparison.Friedemann Kleint2016-03-211-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a switch on int instead of else if. common\evr\evrcustompresenter.cpp: In member function 'virtual bool EVRCustomPresenter::event(QEvent*)': common\evr\evrcustompresenter.cpp:1882:22: warning: comparison between 'enum QEvent::Type' and 'enum EVRCustomPresenter::PresenterEvents' [-Wenum-compare] if (e->type() == StartSurface) { ^ common\evr\evrcustompresenter.cpp:1885:29: warning: comparison between 'enum QEvent::Type' and 'enum EVRCustomPresenter::PresenterEvents' [-Wenum-compare] } else if (e->type() == StopSurface) { ^ common\evr\evrcustompresenter.cpp:1888:29: warning: comparison between 'enum QEvent::Type' and 'enum EVRCustomPresenter::PresenterEvents' [-Wenum-compare] } else if (e->type() == PresentSample) { Change-Id: I8533e2c6d9b0a01b7b95e1d8bb119b50d4aabd25 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| * Windows EVR: show frames when pausing from stopped state.Yoann Lopes2016-03-151-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | The QAbstractVideoSurface was started only when calling play(), causing frames received before (e.g. when pausing from stopped state) to not be rendered. The surface is now started as soon as a media type is agreed between the EVR and the upstream element. Conversely, the surface is stopped whenever the media type is cleared. Change-Id: Ia96a07dbd277adce67de5a9cfbf9acc0d33b6497 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-alpha1Liang Qi2016-02-151-21/+7
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: If5d9ea0fb6187bb6f74881289ebb15a57eb82e0c
| * Windows EVR: fix EndOfStream event never being sent.Yoann Lopes2016-02-041-21/+7
| | | | | | | | | | | | | | | | This was causing QMediaPlayer to never go into the EndOfMedia state. Task-number: QTBUG-50814 Change-Id: I8920cf93db37a834f67b9e0b4abcf5a4934dfe0e Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-191-14/+20
|/ | | | | | | | | | | 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>
* Windows: Improve EVR presenter.Yoann Lopes2016-01-121-140/+170
| | | | | | | | | | | | | | Removed hard dependency to Angle; it's now required only when rendering to a texture. If Angle is not used, the buffers are now mappable to system memory. This enables HW-accelerated video decoding in QML for non-ANGLE builds. Note that the frame data have to do a round-trip through system memory, which is not ideal but still faster than SW decoding. Task-number: QTBUG-45593 Change-Id: Icc3503142df4e8dbb53b4e11f409b161fd2f9bde Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* DirectShow: use the EVR in the renderer control.Yoann Lopes2016-01-121-0/+2024
As for the window control, the existing code from the WMF plugin has been refactored out and is now shared for both plugins. This enables HW-accelerated video decoding in QML, QGraphicsVideoItem and custom QAbstractVideoSurfaces (Angle is required). Task-number: QTBUG-45593 Change-Id: I1d4dbf5695cdd4dbee93f9f4a957fa4d813aa85d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>