summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-083-5/+17
|\ | | | | | | Change-Id: I7de78c63b5f81620474c69e5c651202c553a70d7
| * wince: revert flipping Video contentAndreas Holzammer2016-04-061-2/+0
| | | | | | | | | | | | | | | | It turned out in my previous tests, that the codec which I used is buggy and does not play well with this documented behavior. Change-Id: I8aff9f68d449da10de4fa33073d5d5cbe9b2a281 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * DirectShow: Release all filters when disconnecting the graph.Christian Strømme2016-03-311-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | When disconnecting the graph we need to make sure that all the filters in the graph are released, even the ones that are automatically added. Since we can't know in advance which filters the graph consists of, we need release them one by one. Task-number: QTBUG-49281 Change-Id: Ifdf2fb6fe1c90ab85b47565c5fe82b6ebe55b183 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * QNX: Fix video playback on VMWareDan Cape2016-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | Mark eglImage as not supported on VMWare since that path requires that the image data be in GPU accessible memory which is not the case for video Change-Id: I2ea1ec52842adf0bc1ca39c882e6771e6a992c65 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Android: Use the new QtAndroidPrivate::runOnAndroidThreadSyncBogDan Vatra2016-04-062-47/+27
| | | | | | | | | | Change-Id: I47cb99d84ad87f3b0f6578d3fbdc22d788b31c57 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Add Wasapi audio backendMaurice Kalinowski2016-03-2913-1/+2252
| | | | | | | | | | | | | | | | | | WASAPI is a Windows audio backend for low latency audio. This backend works for WinRT as well as classic desktop apps. Task-number: QTBUG-42287 Change-Id: I7a1b7b103b64fadc50a9955a9d59443791f6d026 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-2130-187/+177
|\| | | | | | | 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>
| * QNX: Fixed issue with non Qt-related mm-renderer windowsDan Cape2016-03-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | Windowgrabber would catch events from windows that were not related to Qt Media Playback. Now there is a check to ensure the window id to compare against is set before assigning the window to the Windowgrabber. Change-Id: Ic85198de5fdb05e9fa740fc7b3b81f3bdffd631d Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: James McDonnell <jmcdonnell@qnx.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * fix case of included filesMark Brand2016-03-181-2/+2
| | | | | | | | | | | | | | | | | | Cross-compiling for mingw requires lowercase filenames. Change-Id: I135deca455ca2ff6bb3969aca990fe9d1c2dd345 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| * Merge remote-tracking branch 'origin/5.6.0' into 5.6Frederik Gladhorn2016-03-172-1/+2
| |\ | | | | | | | | | Change-Id: I91fb2886b4ab8f0b9e2e28329cec69dfa2cb5435
| | * [Win] Compile fix, the mmdeviceapi.h header can only be included oncev5.6.0-rc1Andy Shaw2016-02-152-1/+2
| | | | | | | | | | | | | | | Change-Id: Idb9a995c90e6e0e8be392022e2a76b4d8fea853a Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | PulseAudio: change the way volume is applied.Yoann Lopes2016-03-164-137/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to change the PulseAudio sink input volume. Doing so had some potential unwanted side effects depending on the PulseAudio server configuration. When flat volumes were enabled, it would affect the global system volume. It could also affect the volume of other streams having the same audio role. Volumes in Qt Multimedia are supposed to be relative to the application volume and should not affect anything else than the object on which it was changed. To guarantee that, PulseAudio volume APIs are not used anymore. Instead, software-based volume attenuation is applied on the audio samples before being passed to PulseAudio. Applies to QSoundEffect, QAudioOutput and QAudioInput. Task-number: QTBUG-40823 Task-number: QTBUG-49461 Change-Id: I690716976bda8fe666969ca2cbdf6d8d0b419733 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * | 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>
| * | ALSA: simplify checking the available version.Lisandro Damián Nicanor Pérez Meyer2016-03-103-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of SND_LIB_VERSION instead of SND_LIB_[MAJOR MINOR SUBMINOR] in order to simplify the tests. Task-number: QTBUG-51681 Change-Id: Ib9f28ff15ddc643cc426ded3a5779fb4ff651139 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | Port DirectShow backend to winceAndreas Holzammer2016-03-0918-28/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dshow.h needs to be included before Qt headers as they include the windows header with NOMINMAX macro set. DirectShow header needs min/max macro definition to compile. The min/max macro then conflicts with QDateTime header, hence needs to be undefined again for some occasions. Windows Embedded Compact then defines INTERFACE as macro, which conflicts. Windows Embedded Compact does not support audio end point selection. Feature has been disabled for this platform. Windows Embedded Compact does not support setting meta data, control has been disabled. Windows Embedded Compact does not support VMR, feature was disabled. Direct Show renders always top to buttom. Change-Id: Id17700835e2105fb127b12e3448bea16e3b52546 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | | Android: Use default API version (16)BogDan Vatra2016-03-171-1/+0
| | | | | | | | | | | | | | | Change-Id: I379a4708b2d79824ee6266471e7aec983b87cd68 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-0726-110/+137
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | PulseAudio: remove debug warning of UnderrunDyami Caliri2016-03-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | The QAudio::UnderrunError is a normal error and is already reported to the user. Change-Id: I0ee5d827666fb08b5eb199255b3b3c5610f743c2 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | PulseAudio: fix playback for short streams in pull modeDyami Caliri2016-02-261-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the provided stream's length is shorter than the stream prebuf attribute, the stream will never play. We adjust the prebuf attribute in this case. Change-Id: Ia397ac967ad2fa357a7aba137fbb78de272440ed Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | standardize statement order in project files a bitOswald Buddenhagen2016-02-252-2/+3
| | | | | | | | | | | | | | | Change-Id: I96bbe1343eedbad6b48579d700bbb6b5b80d69f1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * | remove redundant statements from project filesOswald Buddenhagen2016-02-254-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - TARGET is unnecessary if it matches the project file's basename - CONFIG+=no_private_qt_headers_warning is added by qt_build_config.prf - load(qt_build_config) is done by .qmake.conf Change-Id: I3eb45a758dfee34be3c78fc13d996780741c95e9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-2524-96/+100
| |/ | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-alpha1Liang Qi2016-02-153-24/+10
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: If5d9ea0fb6187bb6f74881289ebb15a57eb82e0c
| * Disable wince buildAndreas Holzammer2016-02-051-1/+1
| | | | | | | | | | | | | | Do not build audiocapture and windowsaudio for wince. Change-Id: I2cbc7743e8f88c74be49ce85a41909653816aca7 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Windows EVR: fix EndOfStream event never being sent.Yoann Lopes2016-02-042-23/+9
| | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-2612-23/+46
|\| | | | | | | Change-Id: I2e4e9cca01d63ed0d1e7f71c7a58322390696036
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-218-16/+25
| |\ | | | | | | | | | Change-Id: I6d88b17f44479a522d181374023648dd007112bd
| | * OpenSL ES: fix QAudioOutput state after resume().Yoann Lopes2016-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In push mode, the state must be IdleState after resume(), and only change to ActiveState once it receives some data. Task-number: QTBUG-50390 Change-Id: Iaf47363196ee94b80ac4ebe58a588929af8d3fad Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
| | * Alsa: fix QAudioOutput state after resume().Yoann Lopes2016-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In push mode, the state must be IdleState after resume(), and only change to ActiveState once it receives some data. Task-number: QTBUG-50390 Change-Id: Idd08d8826f00d943b3bf750524f811874e010149 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
| | * PulseAudio: fix QAudioOutput state after resume().Yoann Lopes2016-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In push mode, the state must be IdleState after resume(), and only change to ActiveState once it receives some data. Change-Id: I8caff011f517e91629abf45af51580f24136bcea Task-number: QTBUG-50390 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
| | * CoreAudio: fix QAudioOutput state after resume().Yoann Lopes2016-01-192-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | In push mode, the state must be IdleState after resume(), and only change to ActiveState once it receives some data. Task-number: QTBUG-50390 Change-Id: I4a38aa84a55e90d7a2db3e1d504674b2a688bbde Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
| | * WindowsAudio: fix QAudioOutput state after resume().Yoann Lopes2016-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In push mode, the state must be IdleState after resume(), and only change to ActiveState once it receives some data. Task-number: QTBUG-50390 Change-Id: I0e12f4eaff350b9423e44779f229e0e1061cf576 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
| | * GStreamer: fix GstAppSrc usage.Yoann Lopes2016-01-192-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow our GstAppSrc wrapper to be reconfigured with a new GstAppSrc object. This is necessary because that object changes every time playback is restarted, even for the same source. The consequence of not allowing the reconfigure was that playback for a given qrc media would only work the first time; any subsequent calls to play() would not work since our wrapper wouldn't know about the new GstAppSrc object and therefore wouldn't be able to produce any data. Also improved management of the wrapper lifecycle. Task-number: QTBUG-49531 Change-Id: I905afb6848cc7e9a563b4edc2c5875cdd7e53d21 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-192-2/+2
| |\| | | | | | | | | | Change-Id: I01940fe4f3d059fbb425492a1748e2b5d9b6804b
| | * Fix usage of QMutexLocker, destroy it only at end of scopeSergio Martins2016-01-122-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I8b47d49f7a83a71a1b90ab57ee7bc3791ef59667 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | winrt: Fix playback of filesMaurice Kalinowski2016-01-181-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backend uses triple buffering in the background to prefetch some buffers. However, at some point it tries to invoke SetCurrentPosition beyond the end of the file. MSDN states that for IMFByteStream one should return E_INVALIDARG, but that has negative sideeffects. What happens is that immediately MF_MEDIA_ENGINE_ERR_DECODE is sent causing the playback to stop, even if there are still valid buffers in the queue. The example in the bug reports causes up to 5 seconds of playback to be lost. This can also be reproduced with larger files. To circumvent this, return S_FALSE instead to still notify that seeking in the buffer did not work. Task-number: QTBUG-49236 Change-Id: Id4b093bf9480f5d02c7f9191fa4424f51c60e078 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Windows: fix build with -opengl desktop.Yoann Lopes2016-01-181-3/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-50510 Change-Id: Ide1b58061d0fcdd5caf8597af8cfaec2483d712b Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
| * | winrt: Fix crash in debug modeMaurice Kalinowski2016-01-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In debug mode we try to set the D3D11_CREATE_DEVICE_DEBUG flag to gather additional information for debugging purposes. However, some devices do not provide those and the D3D11CreateDevice call fails. Instead, try to create a hardware non-debug device first before going into the last software-mode fallback. Task-number: QTBUG-49488 Change-Id: I2d91b5f54f7fd818103bd106314b8503e5759159 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | | Updated license headersAntti Kokko2016-01-19520-7291/+10411
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.6' into devChristian Strømme2016-01-1597-1794/+4555
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/android/src/mediacapture/qandroidcamerasession.cpp src/plugins/wmf/mftvideo.cpp Change-Id: I78868b416ea4baec89ca3e2dc9eb4712db16d5fc
| * | Windows: Improve EVR presenter.Yoann Lopes2016-01-1211-663/+716
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1219-401/+705
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Christian Strømme2016-01-121-2/+7
| |\| | | | | | | | | | Change-Id: Ia563cf734178b821c2aadda8b79b1f09b17de7cd
| | * Android: Don't call restartViewfinder() for audio only recordings.Christian Strømme2016-01-111-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling restartViewfinder() would try to access m_cameraSession without checking if it was valid. This change adds guards around the calls to restartViewfinder(), and one in the function itself. Task-number: QTBUG-50282 Change-Id: I1f2b4d2b2342bf2dc2b7f28a7bcd00e08a0edb44 Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | Android: Media player improvments.Christian Strømme2016-01-081-27/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add locks around the global media player pool to avoid races. And since we don't need any of the features a map provides us, there's no reason to use one. In the most extreme case it's unlikely that there will be more then a couple media players active at one time, so iterating over continuously storage containing only pointers should be at least as fast, if not faster, then a map or a hash (and use less space). Change-Id: Id8d7810b43a9217da402a4b825d7beec891cdf74 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | Android: Improve detection of optimal settings for QAudioOutput.Christian Strømme2016-01-085-9/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change will try to detect the optimal buffer size and sample-rate on Android (requires API level 17+). If the device supports low-latency playback, then it's recommended that application developers check the preferred sample-rate through QAudioDeviceInfo::preferredFormat(). On most devices the preferred sample rate seems to be 48 KHz, so this is now the default instead of 44.1 KHz. Note that not all devices supports "proper" low-latency playback, and there are no APIs to retrieve information about how many devices that can be active at the same time; The only remotely quantitative value I've found is "a few"... Change-Id: I0708738b4a31f6bf9e88e9a816679cb688e023f3 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | Android: Call release() in AndroidMediaMetadataRetriever's destructor.Christian Strømme2016-01-073-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should be the default when the wrapper is destroyed. Note: It's not possible to re-use the instance after release() is called. Change-Id: I761cac05ed2c2cda49573c69c6803b136892c528 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | Android: Make the meta-data reader asyncChristian Strømme2016-01-073-91/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading the meta-data can be slow and cause the UI to become unresponsive. This is especially noticeable when the media source is loaded from a remote location, or over a slow network. To improve this situation the media-reader is moved off the main thread and we wait until the media is loaded before starting the meta-data extraction. Task-number: QTBUG-46491 Change-Id: I0b9cf2ae6b8e08596a2f0b8fa0042d74604c46f9 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-0715-157/+244
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/android/src/wrappers/jni/androidcamera.cpp Change-Id: Ibb34f710b1dfb9a23b378462f31432581c6c26f4