summaryrefslogtreecommitdiffstats
path: root/src/gsttools/qgstvideorenderersink.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* QGstTools: replace foreach with range-based forAnton Kudryavtsev2016-01-151-2/+3
| | | | | Change-Id: I4e93978fc41788ac7f524c7c290a9ce25452f04e Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* GStreamer: flush the current frame when stopping a media player.Yoann Lopes2015-05-271-3/+44
| | | | | | | | | | | When stopping, we don't actually stop the GStreamer pipeline, we just pause it and prevent preroll frames from being shown. We also need to make sure the last presented frame is cleared in that case, otherwise it stays on screen. Fixed for both 0.10 and 1.0. Change-Id: Ibe26a7567f271ae0c3d8819eb9d35d6a95da1c6a Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* GStreamer 1.0: fix frames being presented too many times.Yoann Lopes2015-04-071-9/+8
| | | | | | | | | | | Presenting a frame originates from a gstreamer thread, we block there until the frame is actually presented in the main thread. The problem is that it was presented over and over again until the gstreamer thread was unblocked. Make sure a given frame is presented only once. Change-Id: I46f246740313968637add802f509ebffcc5c19b8 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* GStreamer: implement unlock() in QGstVideoRendererSink.Yoann Lopes2015-04-071-0/+17
| | | | | | | | | | | | There are cases where blocking operations happening in the video sink need to be unblocked, that's why GstBaseSink has an unlock() virtual function. Since our custom video sink blocks when starting and when rendering a frame (while waiting for the main thread to actually do these operations), we need to implement the unlock() function in order to unblock these operations when requested by GstBaseSink. Change-Id: I5cb19ea689e655f572729d931cefec8a4266c94e Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* GStreamer 1.0: show preroll frames.Yoann Lopes2015-04-071-2/+4
| | | | | | | | | | We need to implement the show_frame() function from GstVideoSink, which handles both preroll and normal frames, instead of just GstBaseSink.render(), which is called only for normal frames. This was changed for GStreamer 0.10 by 3b20608f. Change-Id: I4823a575d499cd0d6f9f4cb62e0420e070a05214 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* GStreamer 1.0: fix some problems with QGstVideoRendererSink.Yoann Lopes2015-02-181-89/+18
| | | | | | | | | | | | | - Correctly free resources on deletion. - Correctly stop the sink. We were stopping only when null caps were passed to set_caps() but that doesn't seem to always happen. Implement GstBaseSink.stop() which is always and consistently called by GStreamer. - Remove pre-roll support (as done previously for 0.10, see commit 3b20608f). Change-Id: I4c5808938f244f4f8a35e121a3a4a862588b752d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Update copyright headersAntti Kokko2015-02-121-21/+13
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* GStreamer: port to 1.0.Yoann Lopes2014-11-271-0/+605
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>