summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update version number in QML plugins.v5.6.05.6.0Yoann Lopes2016-02-2514-62/+10
| | | | | | | | | Also removes unnecessary references of that import version in the documentation and snippets. The import version is always displayed at the top of every doc page anyway. Change-Id: Ifbf4666e0bc333c51f51104a5720b988e8c04d0b Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Add 5.6.0 changelog.Yoann Lopes2016-02-251-0/+138
| | | | | Change-Id: I1e7ad9b663db94d2986277c92abf574f6380e44d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* [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>
* 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.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>
| * AVFoundation: fix setting up the video capture session.Yoann Lopes2015-12-031-1/+1
| | | | | | | | | | | | | | | | | | Because of an incorrect 'if' condition, the video capture session was set up twice when starting the camera. Change-Id: I4211a8c77ab9b8086628fb0f12fb28842de830cf Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * AVFoundation: fix setting the camera viewfinder resolution.Yoann Lopes2015-12-033-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Image capture resolution and viewfinder resolution must be the same, with the image capture resolution taking precedence over the viewfinder resolution when both are explicitly set. The code was getting the active image capture resolution, instead of the one explicitly requested, to adjust the viewfinder resolution. That effectively made the viewfinder resolution always ignored since the active capture resolution always has a default value. Task-number: QTBUG-49170 Change-Id: I2f3d01366d83a3e28c0a1ea0109663cfdfa75963 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| * Android: check for exceptions in some camera operations.Yoann Lopes2015-12-034-2/+61
| | | | | | | | | | | | | | | | | | | | | | Not all camera operations are documented to raise exceptions, but they actually might do so depending on the hardware/drivers. Check for exceptions in all functions that could porentially fail and react appropriately. Task-number: QTBUG-49134 Change-Id: I633ca7f2e3aeb6532e1c445735e62135f52cf25f Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * alsa: Relax ALSA version checks for 1.1.x to be detected.Raphael Kubo da Costa2015-11-274-9/+9
| | | | | | | | | | | | | | | | | | Relax the check for SND_LIB_MINOR and SND_LIB_SUBMINOR so that ALSA 1.1.x is not considered older than 1.0.10. QtMultimedia builds fine with ALSA 1.1. Change-Id: If697c34cc7d9bbe2f2a3413d0c25ac4de4e93b34 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * AVFoundation: improve viewfinder settings.Yoann Lopes2015-11-202-110/+102
| | | | | | | | | | | | | | | | | | | | | | | | Retrieving the supported viewfinder settings don't actually require a video surface, we just need a capture device. The supported settings can now be retrieved without calling QCamera::setSurface(). More generally, all viewfinder settings that don't require a video surface can now be gotten/set before calling setSurface(). Task-number: QTBUG-49170 Change-Id: I39b14eeb40517a9ba399748b5778be8bbc8cfcda Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | Blacklist tst_qmediaplayerbackend::seekInStoppedState() on RHEL.Yoann Lopes2016-01-061-0/+3
| | | | | | | | | | Change-Id: I150be89f71684890d65fd157a5b1782468636751 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: fix metadata signals when changing media.Yoann Lopes2016-01-063-12/+29
| | | | | | | | | | | | | | | | The metaDataChanged() and metaDataAvailableChanged() signals should be emitted immediately when changing or clearing the current media. Change-Id: I3152e2c32420ba6f11cf6780013e02208a9d6599 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Favor more commonly supported formats in qmediaplayerbackend test.Yoann Lopes2016-01-061-2/+2
| | | | | | | | | | | | | | Prefer mp4 and mp3 over ogv and mkv. Change-Id: Id24d475207ccf76e113557f9ad14775477f414aa Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Make qmediaplayerbackend::processEOS test less flaky.Yoann Lopes2016-01-061-1/+1
| | | | | | | | | | Change-Id: Ib961f3d4e238a156dc2e1ade1828ae8f1bf5b755 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: fix media player's positionChanged() signal.Yoann Lopes2016-01-064-11/+28
| | | | | | | | | | | | | | | | The signal was not emitted at the right time or with incorrect values under certain circumstances. Change-Id: Ib8b1d38381d908399752856db7b0a987c4422bb1 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Add virtual dtor to QSGVideoNodeFactoryInterfaceKevin Funk2015-12-222-0/+6
| | | | | | | | | | | | | | Makes it compile for me Change-Id: Ib79f4c38bb165d3698a94c5d1aafee710423a907 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>