summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Port DirectShow backend to winceAndreas Holzammer2016-03-0920-29/+100
| | | | | | | | | | | | | | | | | | | | | | 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>
* Add explicit and make public headers compile with ↵Marc Mutz2016-03-0360-87/+87
| | | | | | | | | | | | | | | | | | | -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>
* Fix gstreamer camera when env var QT_NO_GLIB is setSergio Martins2016-03-021-20/+20
| | | | | | | | | | | It would fall into the glib code path because it was only checking if QT_NO_GLIB was defined, but ignoring the env variable. gst_bus_add_watch_full only works with a glib event loop running. Task-Id: QTBUG-51607 Change-Id: I726afd5d6e114eacea6e5bc71e7a6e2d1c5bbd74 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* 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>
* Polish the QtWidgets/Player example.Friedemann Kleint2016-03-013-23/+55
| | | | | | | | | Point the file dialog to the Movies folder. Add command proper command line handling. Change the logic to use QUrl everywhere. Change-Id: I1e54e600187153f52a55e3a381a24e4f2eeda3ab 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>
* Fix constructor parameters in tst_QMediaPlaylist.Friedemann Kleint2016-02-261-1/+1
| | | | | | | | | Fix warning: tst_qmediaplaylist.cpp: In member function 'void tst_QMediaPlaylist::mediaPlayListControl()': tst_qmediaplaylist.cpp:1221:49: warning: the address of 'parent' will always evaluate as 'true' [-Waddress] Change-Id: I46391550d07a8f58442269d0e5eae418258adbff 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-2521-28/+14
| | | | | | | | | | - 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>
* rely on the automatically defined QT_BUILD_*_LIBOswald Buddenhagen2016-02-252-3/+2
| | | | | Change-Id: I8c1c755270aa0a703103925656f7c1b555e4db1f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-2532-137/+141
| | | | | | | | 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.0' into 5.6Liang Qi2016-02-153-24/+10
|\ | | | | | | Change-Id: Iafd0dbf7f015e2dc8e5ef987fb247660db41e9fe
| * 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>
* | Bump versionOswald Buddenhagen2016-02-081-1/+1
| | | | | | | | Change-Id: I6d91859ec788c78384d527a421172a92315c994e
* | RHEL 7.1: Enabling make checkSimo Fält2016-02-043-0/+3
|/ | | | | | | | | Blacklisting those test cases which were blackisted for RedHat 6.6 and which are not passing on RedHat 7.1 either Change-Id: I6750b7a6ed3305829153a4cce7714b0e969f0a98 Reviewed-by: Heikki Halmet <heikki.halmet@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-2111-36/+51
|\ | | | | | | Change-Id: I6d88b17f44479a522d181374023648dd007112bd
| * Fix tst_QAudioOutput::pushSuspendResume().5.5Pasi Petäjäjärvi2016-01-191-2/+3
| | | | | | | | | | | | | | | | | | Documentation states that state in push mode after suspend and resume should be QAudio::IdleState. Task-number: QTBUG-50390 Change-Id: I214f1808948ce862b62afd0fb9d245d0c7e4ad26 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
| * 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-194-29/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-196-10/+8
|\| | | | | | | Change-Id: I01940fe4f3d059fbb425492a1748e2b5d9b6804b
| * Be more permissive in QSoundEffect integration test.Pasi Petäjäjärvi2016-01-181-1/+1
| | | | | | | | | | Change-Id: I9f92fda79bb359f8fa53aa11b9b6889cd35fcb6e Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Fix setting state to not playing when audio error occurredPasi Petäjäjärvi2016-01-141-1/+2
| | | | | | | | | | | | | | | | | | Even if QAudioOutput has finished playing audio state don't change to stopped because QSoundEffect checks only QAudio::IdleState as when to stop itself. Change-Id: Iea3a4926c87ea5a7b440e62d832bbc13bcdd3b6d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Fix clearing signals already send after first part of audio dataPasi Petäjäjärvi2016-01-131-1/+1
| | | | | | | | | | | | | | | | | | Previous place for clearing received signal could errounsely clear already sent signal which causes next signalState comparison to fail on some platform. Change-Id: Iaffdbbcab1ec9afa0be6f1f7b7aee62b981ee319 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Remove testing category to empty stringPasi Petäjäjärvi2016-01-131-1/+0
| | | | | | | | | | | | | | Not all backends have empty default category Change-Id: I55025bf213063c5fd64dd5be4031aabf3a148a7b Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Remove checking exact remaining loop amount right after calling play()Pasi Petäjäjärvi2016-01-131-4/+2
| | | | | | | | | | | | | | | | Depending on platform it is unknown how many times it has already been actually playing the audio. Change-Id: I27b65cee8de5f9f75ceda277ee22d86f7897ce7b Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * 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>
* | Fix tst_QVideoWidget.Yoann Lopes2016-01-181-61/+42
| | | | | | | | | | | | | | | | | | | | | | Make sure the tested QVideoWidget has a valid size. Since 7b63c45d in qtbase, native widgets are required to have a valid size to be shown. This test relies on qWaitForWindowExposed() to work correctly, which means the widget must be shown and thus must have a valid size. Change-Id: I13bc1536d788d9ba56b4dcbf0c60851b5634be9e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | winrt: add capabilities to launch app out of the boxMaurice Kalinowski2016-01-131-0/+3
| | | | | | | | | | Change-Id: I1cb8a589ee61f1dbc53bfd70eb25e7d2000af13e Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | 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-122-2/+9
|\| | | | | | | 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>
| * Fix playing sound in loop if sample size is smallPasi Petäjäjärvi2016-01-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | If sample size is smaller that current periodsize, then playing sample multiple times in loop will fail. Reason is data offset of sample is set out of the bounds actual sample data size. Change-Id: I81f580cbb8dabf89db0d61528f5f1c9489216e0c Task-number: QTBUG-49838 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Doc: Generate separate listing of Widgets classes in the QHPTopi Reinio2016-01-121-3/+9
| | | | | | | | | | | | | | | | | | Use the new QHP selection format to separately list the members of Qt Multimedia and Qt Multimedia Widgets modules in the table of contents. Change-Id: I50be80a820111834207967eada0865d212be98a8 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Doc: Fix documentation warningsTopi Reinio2016-01-0819-72/+65
| | | | | | | | | | | | | | | | | | | | - Fix incorrect paths passed to \example command - Fix resulting linking issues - Fix examplesinstallpath in .qdocconf - Remove unnecessary group definition Change-Id: I72a437ac6d297f3c63d4f29a0e3110971d1e330f Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.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-0716-158/+245
|\| | | | | | | | | | | | | Conflicts: src/plugins/android/src/wrappers/jni/androidcamera.cpp Change-Id: Ibb34f710b1dfb9a23b378462f31432581c6c26f4
| * AVFoundation: correctly set the activeFormat on the AVCaptureDevice.Yoann Lopes2015-12-107-38/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the AVCaptureDevice documentation, the device must be locked before starting the capture session to prevent the activeFormat from being overridden. We now do that, but only if we explicitly set an activeFormat. Otherwise the device is not locked, which allows the session to find an appropriate format for the capture device. The device is also locked when enabling video capture, as doing so might also reset the activeFormat. Task-number: QTBUG-49170 Change-Id: I75478fd4bbfec96cd2abd2c3ae2951088b38978e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| * QNX: Handling looping properlyRoger Maclean2015-12-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | On play, if we're at the end of media, set the position to the beginning. The code was previously setting the position to the last known position, likely just prior to the end which causes the last few frames of video to be played endlessly. Task-number: QTBUG-49668 Change-Id: I9613114294c22152dd66ae7111c38c8cdef5b907 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>