summaryrefslogtreecommitdiffstats
path: root/src/plugins/winrt
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove superfluous includeMaurice Kalinowski2015-11-031-1/+0
| | | | | Change-Id: Ic8855911515b5fb5283536c4ee73e6f0203ece1e Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Fix crash when focus operation in progress.Samuel Nevala2015-10-221-0/+2
| | | | | | | | | If focus is locked repeatedly and fast on Lumia 920 FocusAsync returns null IAsyncAction and ::await crash on null pointer. Fix crash by returning early from method when operation in progress. Change-Id: Ie268fd2276d3e9090a47bf362cd58743bb83284a Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Unload camera when application is suspended.Samuel Nevala2015-10-152-1/+26
| | | | | | | | | Camera needs to be unloaded when going to suspend. Otherwise resume from suspend will hang and application will be terminated. Change-Id: Idc8bd47e56c99ebd53a1a4632338cf977317a495 Task-Id: QTBUG-48569 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Prevent camera device from being suspended.Samuel Nevala2015-10-153-4/+45
| | | | | | | | | | | | On certain Lumia devices video buffer gets page locked when camera is stopped. Subsequent call to video frame map/unmap leads to camera device suspension. As a fix delay camera unload until all mapped video frames are unmapped and return early from video frame map when camera is not active. Task-Id: QTBUG-48672 Change-Id: If547b9d430727bbe0e12cd8c07a30aeff81d13e3 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Fix two possible null pointer exceptionsSamuel Nevala2015-10-141-3/+5
| | | | | | | | If camera state is changed rapidly these can occur. Change-Id: Ia9ccf9e03162350cd411ff9fc059c14f47b9a42e Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Fix frozen UI caused by camera search and lock focus.Samuel Nevala2015-10-011-1/+1
| | | | | | | | | Instead of yielding thread process events while waiting for focus to complete. Change-Id: I6b5f08bc175af37430c851f151fce5c3bfe238ad Task-Id: QTBUG-48534 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* Revert: "winrt: fix camera preview on Lumia 630"Samuel Nevala2015-09-301-42/+1
| | | | | | | | | This reverts commit be0a231be4ed28474271fb29f44e1eb3270f35b7. Moving blitting away from the camera device removed the need to lock buffer. Change-Id: I3a0e983d9ff2135e32e3e352c443ca653c1dd017 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Fix Lumia 1520 black viewfinder.Samuel Nevala2015-09-291-0/+30
| | | | | | | | | | | The latest Denim update broke VideoProcessorBlt for Lumia 1520. After the update, the blit results in a black target texture. As a workaround, don't use DirectVideo, but leave format conversion and drawing to the EGL Node. Task-Id: QTBUG-48331 Change-Id: I1dab6b58d52d0e24fbffb91f23772906a576047a Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Optimize camera viewfinder pipeline.Samuel Nevala2015-09-291-18/+20
| | | | | | | | Move blitting from the camera device to render side device. Change-Id: Iadb89f4285f1fc242dbd825e60e258e7a9cfba58 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Introduce DirectX pipeline bypass.Samuel Nevala2015-09-295-49/+154
| | | | | | | | | | | | Qt Windows Runtime camera uses DirectVideo to convert NV12 format texture to BGRA format texture. As the EGL Node can draw using NV12 already, allow video render control to choose which path to take. By default use DirectVideo. Bypass can be used as fallback when DirectVideo cannot be used or is not working. Task-Id: QTBUG-48331 Change-Id: I0cb87a7c4523bfb60610e6b41ab3fb05aff092a1 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* Make QWinRTImageEncoderControl a Q_OBJECT.Friedemann Kleint2015-08-191-0/+1
| | | | | | | | | | | | Fix lupdate warning: qtmultimedia/src/plugins/winrt/qwinrtimageencodercontrol.cpp:60: Class 'QWinRTImageEncoderControl' lacks Q_OBJECT macro when parsing the tr() in QWinRTImageEncoderControl::imageCodecDescription(). Change-Id: I004c05c8cea620e30bff7a2b35b83eed01b7ed4c Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Fix aspect ratio deviation between preview and encoding streamsSamuel Nevala2015-08-182-70/+95
| | | | | | | | | | | | | | | | The source texture size from camera was wrong due to a missing IMediaDeviceController::SetMediaStreamPropertiesAsync call for the preview media type. Therefore Viewfinder and StillImage capture modes behave tha same from QCamera point of view. By default, the camera takes the lowest capture resolution and the lowest preview resolution with a matching aspect ratio. If the capture resolution is set, the preview resolution is set to the lowest possible resolution with a matching aspect ratio. Until viewfinder settings are implemented for WinRT, there is no way for user to change the viewfinder resolution. Change-Id: I4b76ceb46bd4c366561f5206d913b97c0d0df211 Task-Id: QTBUG-47465 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* winrt: Add camera video probe controlsPeng Wu2015-08-107-13/+271
| | | | | | | | | [ChangLog][multimedia][winrt] The WinRT backend now supports QVideoProbes on camera objects. Task-number: QTBUG-46228 Change-Id: I7850c5ec6f61e5824064d4be8afc8a0b55d05806 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Add camera focus and focus lock controlsPeng Wu2015-08-1010-27/+1003
| | | | | | | | | [ChangLog][multimedia][winrt] The winrt backend now supports camera focus and focus lock for Windows Phone. Task-Id: QTBUG-46120 Change-Id: Idb222798284d887a6e90a4986c69274e0ef765f5 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winrt: Fix crash during certain video operationsPeng Wu2015-07-281-27/+10
| | | | | | | | | | | The abstract video buffer pointer was being reused and (improperly) deleted when its reference count went to zero. As QVideoFrame utilizes an explicitly shared pointer which also tracks the video buffer, simply reuse the QVideoFrame instance instead. Task-number: QTBUG-47373 Change-Id: Idadae205cb520a0a1d752aa20256c0567b3be699 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-2613-13/+40
|\ | | | | | | Change-Id: I5a5b387b93a4b9dbaa9710e78fd7bf1ca09aa3b3
| * WinRT: fix namespaced buildJoerg Bornemann2015-06-0413-13/+39
| | | | | | | | | | | | Change-Id: I06b18e2a1318bda826befde52ee1fd874e25dd47 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| * winrt: fix camera preview on Lumia 530Peng Wu2015-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | Lumia 530 has the same QTBUG-44838 device bug that gives black frames when blitting to the target texture for image preview. Add it to workaround blacklist. Task-number: QTBUG-45920 Change-Id: Ia411793b90e487fa57b943ed7f01e370bfb84a1f Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | winrt: Implement QImageEncoderControl for cameraPeng Wu2015-06-237-15/+260
|/ | | | | | | | | | Implement QImageEncoderControl for camera still image capture. It provides the functions to set camera capture resolution and get supported resolutions list. Task-number: QTBUG-46456 Change-Id: Ideb1aa02d420be3a30d588bebf31714fa4fa6415 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Updated WinRT license headers to use LGPLv3 instead of LGPLv21Jani Heikkinen2015-05-2122-220/+286
| | | | | | | | From 5.5.0 -> WinRT port is licensed with LGPLv3, see http://blog.qt.io/blog/2015/04/29/windows-10-support-in-qt/ Change-Id: I86e43ba051e3bc1dfb3eb9e1d442a9a12e9efdb7 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: fix camera sample queue thread safetyPeng Wu2015-04-231-5/+18
| | | | | | | | | | | Replace sample buffer QVector with C array to avoid reallocations. The resource needs to be protected, so use atomic indexes to prevent writing into the same array element that is being read. Task-number: QTBUG-45667 Change-Id: Ifd30dd128765ea4794fe8614f25ef596bba891ee Reviewed-by: Andrew Knight <qt@panimo.net> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: fix camera preview on Lumia 630Peng Wu2015-04-161-1/+41
| | | | | | | | | | | | Certain devices give black frames when blitting to the target texture for image preview. However, a workaround has been found that simply mapping the buffer forces the frames to be rendered properly. As this degrades performance on devices with hardware buffers, a blacklist is introduced to specify which devices require this workaround. Task-number: QTBUG-44838 Change-Id: I137a1dc4e5126e7cf9ee00cb2d7e7722bf917efa Reviewed-by: Andrew Knight <qt@panimo.net>
* Fix WinRT Audio elements cannot play Qt resouce audio filesPeng Wu2015-03-171-1/+1
| | | | | | | | | | URL argument of Windows media API SetSourceFromByteStream can not be empty. Initial proper value for playing audio stream case. Task-number: QTBUG-42263 Change-Id: If0bb44b60d517228bfe8b6cb30afeeb4a8ac62d3 Reviewed-by: Andrew Knight <qt@panimo.net> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Update copyright headersAntti Kokko2015-02-1222-488/+312
| | | | | | | | | 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>
* winrt: Add missing QAbstractVideoSurface::stop() call.Andrew Knight2014-12-111-2/+4
| | | | | | | This was preventing the surface from restarting with a different format. Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* winrt: Fix encoding propertiesAndrew Knight2014-12-111-4/+17
| | | | | | | | | | | These should match the capture mode. Additionally, there was a semantic error preventing the encoding properties from being properly selected. This fixes a bug in which the viewfinder was receiving frames too large for display as an OpenGL texture. Task-number: QTBUG-41065 Change-Id: Ia82c8f44bba1692a219edc5f9d78fc76c3d8a4ba Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: Fix camera auto rotationAndrew Knight2014-12-114-0/+26
| | | | | | | | | | | | | | There is no Windows Runtime API to find the camera sensor rotation, so assume that phones always have a camera mounting of 270 degrees. Tablet and webcams remain mounted at the default (0 degrees). As the frame is not flipped automatically by the system, the scan line direction is set to BottomToTop for front-facing cameras to achieve compatibility with other platforms. Task-number: QTBUG-41066 Change-Id: Icf17ecd4aca9fa9d5b24d94e5b21b63ee6f21f28 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* winrt: Add camera serviceAndrew Knight2014-08-3016-4/+2375
| | | | | | | | | | | | | | | This adds a basic camera service with viewfinder (video renderer based), still image capture, and device selection support. Runtime apps must set the "webcam" and "microphone" device capabilities in order to access the hardware. This can be done by adding the following to the .pro file: WINRT_MANIFEST.capabilites_device += webcam microphone [ChangeLog] Enabled basic camera support in the winrt backend. Change-Id: If4f963ef645d93c757ae23aec9a9c8aae122324f Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* winrt: Add media playback serviceAndrew Knight2014-08-2511-1/+1917
| | | | | | | | | | | | This introduces a MediaPlayer service based on the MFEngineEx API. Only scene graph video rendering is supported at this time. The video renderer control is abstracted in order to provide a base for future video nodes which do not source their content from the MF engine. [ChangeLog] Media player support was added to the winrt backend. Change-Id: I8155a1030466ea352fad0a87d1ae97a88983760c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Introducing Windows Runtime backendAndrew Knight2014-08-254-0/+144
This lays the foundation for using supported APIs in Media Foundation for the Windows Runtime family of devies. Due to the narrowing of supported MF classes, as well as classes that are only available on Windows 8 and newer, this backend is built as a new plugin rather than a modification to the existing wmf plugin. [ChangeLog] Added a new backend plugin, winrt, to support multimedia within Windows Runtime OSes. Change-Id: If64ac417127b7400baa5e56fe02b65f909a4dece Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>