summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "DirectShow: Fix memory leak in CLSID_FilterGraph"v5.9.4Christian Strømme2018-01-152-27/+8
| | | | | | | | | | | | The reverted commit brakes rendering on video on Windows; only the first frame is delivered. This reverts commit 8ec92863f13061c3dd2d56376eddfe258915589f. Task-number: QTBUG-65736 Change-Id: I298da5803efe13d0f17868714393cc9b1760b4a7 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add changes file for Qt 5.9.4Antti Kokko2018-01-081-0/+57
| | | | | | | Change-Id: I237658fe3f18d7a34d38fd83a3c3affa0f3fa61b Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Blacklist qmediaplayerbackend tests in all versions of windowsJani Heikkinen2018-01-051-2/+1
| | | | | | | | | | It was already blacklisted in most of builds and started to fail in remaining ones as well Task-number: QTBUG-46368 Task-number: QTBUG-65574 Change-Id: I809f8efd2887facfe85bf2d98f2251b0a7b82484 Reviewed-by: Liang Qi <liang.qi@qt.io>
* DirectShow: Fix rendering of overlapping MDI subwindowsVal Doroshchuk2017-12-211-2/+2
| | | | | | | | | | | | | | | | | | Media type MEDIASUBTYPE_RGB32 is 32 bytes per pixel (like 0x00RRGGBB). When MDI subwindows are overlapping bottom window with QImage::Format_RGB32 requires 0xffRRGGBB. If "not used byte" is not 0xFF rendering will not be correct (0x00 produces empty image). Changed samples to ARGB32 to provide alpha channel, which is 0xFF in most cases. If alpha channel is not set to 0xFF, the bottom window will still be rendered incorrectly. Task-number: QTBUG-51405 Change-Id: I69f15d3835f901a04bf39b079394c6292b793610 Reviewed-by: Christian Stromme <christian.stromme@qt.io> (cherry picked from commit b69259b65707acc9fc3c0818f6affe53938cebc3)
* Fix precision loss in QDeclarativeVideoRendererBackend::adjustedViewportVaL Doroshchuk2017-12-201-2/+2
| | | | | | | | Applied casting to keep precision. Task-number: QTBUG-64044 Change-Id: If3cb29b5c049302de38e5417811792405c896334 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* GStreamer: Prevent calling CameraBinSession::setStateHelper twiceVaL Doroshchuk2017-12-141-2/+5
| | | | | | | | | | | | | | | | | | | Since CameraBinSession::setStateHelper() is supposed to handle only pending states, added a fix to prevent calling it twice. Otherwise CameraBinSession::load() can be called few times which might lead an error from gstreamer. Possible call stack: CameraBinSession::setState() CameraBinSession::setStateHelper() CameraBinSession::load() CameraBinSession::setStatus() CameraBinSession::setStateHelper() CameraBinSession::load() << gst_element_set_state is called also twice Task-number: QTBUG-53204 Change-Id: I00c66f91cd3b885c70848245da725ff68943fad2 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Fix memory leak in CLSID_FilterGraphVal Doroshchuk2017-12-142-8/+27
| | | | | | | | | | | Fixed memory leak when using Filter Graph Manager by moving creation of the manager to worker thread and changing threading model from shared to application thread. Task-number: QTBUG-52713 Change-Id: I7725697ced1992959d18588303c329b4dfd56b2e Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix memory leak in QSoundEffectVaL Doroshchuk2017-12-141-1/+4
| | | | | | | | | If qthread is being exited all objects that belong to it also should be cleaned up. Task-number: QTBUG-64407 Change-Id: Ida09fcfac7e1ee2741c6e1b76a672a7a5775addc Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* AVFoundation: Use 90 for the front facing camera's orientationAndy Shaw2017-12-121-1/+1
| | | | | | | | | | | | Since the information is not available as to what the orientation is from the AVFoundation API then we need to rely on common sense. Since the back facing camera is 270, then it stands to reason that the front one would be 90. This has been tested on macOS and iOS and all three cameras behave correctly. Task-number: QTBUG-37955 Change-Id: I1ab079cb5d4337948541e58321df51efbadf3e39 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Bump versionOswald Buddenhagen2017-12-121-1/+1
| | | | Change-Id: If1449d48ce39d9a65ae4792707ad87a918c2dce3
* Revert "Android: Set the correct scan line for the video surface format"Christian Stromme2017-12-011-1/+0
| | | | | | | | | | | The change causes the video output to be shown upside down. This reverts commit 2ec485482d185f92e4de33f634bc3ef9dd6c9188. Task-number: QTBUG-64764 Change-Id: I9d3e63d2c0cce17d945b62ffead38ab5f58ace7f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 3598915a360c596da48c9e7b00ba8469cba5249a)
* Windows: Fix EVR's rendering of GLTextureHandle framesVal Doroshchuk2017-11-301-73/+86
| | | | | | | | | | | | | When ANGLE is used and video frames have GLTextureHandle handle type black screen is shown while audio is working correctly. Fixed a bug when opengl texture has not been ever creating. Fixed a crash when releasing resources due to empty QOpenGLContext. Also moved gl initialization related code to OpenGLResources. Task-number: QTBUG-61407 Change-Id: Ifc92a4a2fa2e769494ef962203446a9b3e7dd86d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix crash when no supported formats are returnedVal Doroshchuk2017-11-231-8/+3
| | | | | | | | | If waveInGetDevCaps or waveOutGetDevCaps returns MMSYSERR_NOERROR it does not mean that there are supported formats in the dwFormats field. Task-number: QTBUG-54242 Change-Id: I767ccc9570681685a27abd979ba9754034058e6f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* WindowsAudio: Remove unneeded Sleep() when stopping playbackVal Doroshchuk2017-11-231-3/+0
| | | | | | | | To terminate playback waveOutReset is already used. Task-number: QTBUG-35916 Change-Id: I50d6c25c944b01d7dfe62b2f80ec153231818a33 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.9.3' into 5.9Liang Qi2017-11-231-0/+58
|\ | | | | | | Change-Id: Ic7e50588c7033c94a10ac639ad4b7966f3b2015f
| * Merge 5.9 into 5.9.3v5.9.3Oswald Buddenhagen2017-11-081-4/+11
| |\ | | | | | | | | | Change-Id: I16a89310e05e3320ce5d4dd8c873719800b67cea
| * | Add changes file for Qt 5.9.3Antti Kokko2017-11-081-0/+58
| | | | | | | | | | | | | | | | | | Change-Id: Iaaee504e176f5b23c6894243a5f830ba88854355 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | wasapi: Initialize COM before useVal Doroshchuk2017-11-141-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | The COM library was not initialized on the calling thread before the COM library calls were made. Task-number: QTBUG-62598 Change-Id: Id6f4fc093a1ef72b6e0a3cd3a22c05cec7eaafa8 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Fix deadlock when a new url is set in loading stateVal Doroshchuk2017-11-102-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting a new url while QMediaPlayer is in loading state can result in a deadlock between the GUI and worker thread. Because main thread is waiting when worker realeses m_graph but worker cleared all pending tasks and is waiting for new tasks from main thread. Task-number: QTBUG-53534 Change-Id: I296ecdf866c5d85efc7121d3e7936334d6b700fd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Fix crash when an app is sent to background while capturing an imageVal Doroshchuk2017-11-101-3/+7
| |/ |/| | | | | | | | | | | | | | | | | | | Since the native notify* methods for QtCameraListener.java are executed on different thread, there is a potential for a race condition when the applicationStateChanged is received before the notify* signals, which leads to the camera being release before the slots are executed. Task-number: QTBUG-52366 Change-Id: Ifc82f3a75a7e88e4e76fac3edbf16bb9f138fde7 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Gstreamer: Fix memory leak in CameraBinSessionVaL Doroshchuk2017-11-081-4/+11
|/ | | | | | | | Created GstElement objects m_cameraSrc and m_videoSrc should be unrefed. Task-number: QTBUG-53204 Change-Id: Ibbfd37d928fe87ea899549da7c12fa2386e214cc Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Gstreamer: Fix memory leak in QGstreamerAudioDecoderSessionVaL Doroshchuk2017-10-301-0/+1
| | | | | | | | | The memory in the GstMapInfo should be unmapped with gst_buffer_unmap() after usage. Task-number: QTBUG-62789 Change-Id: Iee080e597abc80aa28fd068e6f582a97987677e0 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Don't discard the surface format when creating a video nodeVaL Doroshchuk2017-10-271-1/+8
| | | | | | | | All relevant properties from the surface are now copied Task-number: QTBUG-53268 Change-Id: I7f18f0e6a623c8c7c5be68e912b298e0b4b130b7 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Switch the metadata code to the event APIJames McDonnell2017-10-236-85/+76
| | | | | | | | | | | | | | | | | | | | | | The switch is necessary because Multimedia for QNX 7.0.0 removes support for PPS based retrieval. PPS itself is deprecated in QNX 7.0.0. QNX 6.6.0 is also switched to using event notification since Multimedia for QNX 6.6.0 also supports it. There's a slight change in when metadata first becomes available because an event is used instead of file based retrieval. I think it's a necessary change because there isn't actually any guarantee that the metadata is complete at the time that the code used to request it and the code may have missed changes because it never read the information again. [ChangeLog][QNX] Switch to mmr_event_t based metadata retrieval. PPS based retrieval is not supported by Multimedia for QNX 7.0.0. Change-Id: I2b70f05422ee03d25ed2446a0e30b56b03dd82c8 Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Android: Set the correct scan line for the video surface formatChristian Strømme2017-10-231-0/+1
| | | | | | | | | The default value for QVideoSurfaceFormat is TopToBottom, so we need to change it. Task-number: QTBUG-51213 Change-Id: I47826a60fbae57f3d30d358a9ab8f05b784aeebd Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Update plugins.qmltypes for 5.9Christian Stromme2017-10-201-7/+19
| | | | | Change-Id: I3969c6e91438b9e411b8e93a304c666c2c36bf21 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix license of .cpp files to LGPLKai Koehne2017-10-182-26/+50
| | | | | Change-Id: I389c8eae55f6bded71978f3d275db419b9d32a2e Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix outdated BSD license headerKai Koehne2017-10-18105-316/+1366
| | | | | Change-Id: I386d30a54819bae016cb50cf5892a5ac380288f9 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix outdated FDL license headerKai Koehne2017-10-1831-93/+93
| | | | | Change-Id: I9cd7043058352ba2aeded74f86d863fca29bd37d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix loading remote m3u filesVaL Doroshchuk2017-10-091-1/+2
| | | | | | | | | Fixed a case where it was not possible to load remote m3u files as the parser would start, and fail, before the file was received. Task-number: QTBUG-62255 Change-Id: If730539dbfd25c9ef2ab97a05af3a50c685a304b Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* GStreamer: Fix V4L input queryVaL Doroshchuk2017-10-091-1/+2
| | | | | | | | | | | The last ioctl argument expect a pointer to an integer, not the integer value itself. Also, the ioctl call will return 0 on success, or ENOTTY if the input can't be select, both indicating that the device is a camera. Task-number: QTBUG-62245 Change-Id: Ifcf2d30b11ae204036b43daae664f917aaed83ed Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.9.2' into 5.9Liang Qi2017-10-061-0/+42
|\ | | | | | | Change-Id: I268a3beb777d763e4bf118a45f6407beaaab5bc5
| * Merge 5.9 into 5.9.2v5.9.2Oswald Buddenhagen2017-09-2513-270/+402
| |\ | | | | | | | | | Change-Id: Ia35d6229b7c9889bdbaea72decc78e927ca0f2db
| * | Add changes file for Qt 5.9.2Antti Kokko2017-09-221-0/+42
| | | | | | | | | | | | | | | Change-Id: Ifc807e95dbfc11a0313ab70497e08b0c7f9b46ef Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Bump versionOswald Buddenhagen2017-10-061-1/+1
| | | | | | | | | | | | Change-Id: Ia984bcbb1f79342aa773a89bfa95fa97bde498df
* | | Fix memory leak in CameraBinImageCaptureChristian Strømme2017-09-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | The element name needs to be released when we're done with it. Change-Id: I650671288bd143551188094b0d934e7da2028a2d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Adjust timeouts for QSounds auto testsVaL Doroshchuk2017-09-261-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests contains fixed timeouts which sometimes is not enough, causing the test to fail under heavy load. Since isFinished() doesn't actually tell if a device has started, the timeout might come too early, e.g., when the device is still waiting for data, or even before it has started. Change-Id: I8f2f8341b9fcf656d86d161203c7eb63e66acca5 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Ask for camera permissionsOliver Wolff2017-09-262-119/+163
| |/ |/| | | | | | | | | Task-number: QTBUG-63308 Change-Id: Ic66d5d50b026350cf03afc19c58fc7c93029a69a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Use QMutex instead of criticalSectionsOliver Wolff2017-09-253-33/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | critical sections are really unpredictable when it comes to order of activation. It was possible that the loop in QWinRTAbstractVideoRendererControl's syncAndRender blocked its setBlitMode for up to 30 seconds on application start. During this time the camera screen just stayed black. The whole approach seems to work a lot better when QMutexes are used. Task-number: QTBUG-63015 Change-Id: Ib1b0fa1da35fe299896068146254e4cf1d9616fb Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | GStreamer: fix video output stopping when the main thread is blockedYoann Lopes2017-09-221-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a new frame is ready to be rendered, our gst sink waits until the frame is actually processed in the GUI thread, but never more than 300 ms. The time limit is there to avoid potential dead locks in specific situations. Before, if the wait would timeout, the sink would signal that there was an error rendering the frame, which would in turn put the pipeline in an error state and would stop processing any further frame. We now simply skip the frame if the GUI thread is blocked for too long and signal that everything went fine to the pipeline. This was already the logic in place for GStreamer 0.10 (see qvideosurfacegstsink.cpp). Task-number: QTBUG-60509 Change-Id: I5173a15340c0e2065bb2fb5ca3bc045ac84ba7e1 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Switch to mmr_event_t based monitoringJames McDonnell2017-09-219-233/+385
|/ | | | | | | | | | | | | | The switch is necessary because Multimedia for QNX 7.0.0 removes support for PPS based monitoring. PPS itself is deprecated in QNX 7.0.0. QNX 6.6.0 is also switched to mmr_event_t based monitoring since Multimedia for QNX 6.6.0 also supports that type of monitoring. [ChangeLog][QNX] Switch to mmr_event_t based monitoring. PPS based monitoring is not supported by Multimedia for QNX 7.0.0. Change-Id: Id3ce1d8895e8ce492ecdd49cbe88ef5f0d6b0194 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Blacklist tst_QSound::testLooping for OpenSuse 42.3Sami Nurmenniemi2017-09-121-0/+3
| | | | | | Task-number: QTBUG-63090 Change-Id: I5e9288d0d7d31972b7ba5745819d0b6a962d3191 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Skip OVG tests on boot2qtSami Nurmenniemi2017-09-122-0/+7
| | | | | | | | | | | | | Loading OVG is unstable on qemu. That needs to be skipped for boot2qt tests. This will conflict when merging to branch 5.10 with commit c341b2b25697f937280fe3620629ac3d32c19613. Correct version is in 5.10. Task-number: QTBUG-63079 Change-Id: Ic691beb3dbbfdc64ca31b380ad85d9dadbe08a90 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add changes file for Qt 5.6.3Jani Heikkinen2017-09-061-0/+66
| | | | | Task-number: QTBUG-62715 Change-Id: I6eaa7d8e697de147533090242a95479d6b81463f
* ALSA: Fix regression in qalsaaudioinput.cppAlexandre Jousset2017-08-311-1/+1
| | | | | | | | | | | In QAlsaAudioInput::open(), one should check against the available audio inputs and not the audio outputs. Regression introduced in 5473621bde2be226f2f3687a80b4bfc93bbbe572. Task-number: QTBUG-62435 Change-Id: I5db0a092a98c17964c55c9358ea1010ca05e9d6f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Blacklist tst_qaudiooutput in openSUSE 42.3Tony Sarajärvi2017-08-311-0/+2
| | | | | | Task-number: QTBUG-52673 Change-Id: Ia093b2836b0f137e06624f557f4ee1746726e3e3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* DirectShow: Copy the frame data when we get it before emittingAndy Shaw2017-08-166-16/+13
| | | | | | | | | | | Since the slot connected to the frameAvailable signal may be in another thread there is a bigger risk of it being invalid by the time the slot is invoked. Therefore we copy the data and emit with the copy to ensure that we don't lose the data. Task-number: QTBUG-61817 Change-Id: I2888661d8a7f97105a85f87b08cc9ec25f8ce8c7 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Use QSharedPointer::create() moreMarc Mutz2017-08-081-1/+1
| | | | | | | | | | | | | This is the result of running the (experimental) clang-tidy check qt-modernize-qsharedpointer-create Discarded changes: none. This run probably does not cover all of qtmultimedia. Change-Id: I86a51b6a1edfe254f3fa9bff12dda359ac413df0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: Fix wrong slashRainer Keller2017-07-071-1/+1
| | | | | Change-Id: I979c7d8d01b00689269a7969b628864ca5eab991 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* PulseAudio: fix a pthread_mutex crash in error pathBartosz Golaszewski2017-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | QSoundEffect (pulseaudio) uses a workaround for stability issues: although the pulseaudio mainloop mutex is recursive, it utilizes a separate lock counting. This is not the best solution, but it is a part of a larger set of changes which improved the stability in CI under heavy load. QSoundEffect always calls pa_threaded_mainloop_lock/unlock() from the same thread so the additional lock counting works in normal situation even though it doesn't use atomic types. However if pa_context_connect() fails, pa_threaded_mainloop_unlock() is called without regard to current lock count. This leads to random double-unlock aborts if pa_context_connect() fails more than once (e.g. after the reconnect scheduled from onContextFailed()). Fix this by always using the PulseDaemon wrappers around pa_threaded_mainloop_lock/unlock(). Task-number: QTBUG-61725 Change-Id: I41eb9a76892a6646fd5620ef8f686473b339464f Reviewed-by: Christian Stromme <christian.stromme@qt.io>