summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* DirectShow: Get current image processing parameter from the cacheDenis Shienkov2015-12-102-40/+18
| | | | | | | | | | We can simplify a code, do not need to call pVideoProcAmp->Get() each time when we want to get current parameter value. It is better to do this once from updateImageProcessingParametersInfos(). In this case we will return desired parameter from the local cache. Change-Id: If33c3882230c9ae817071ace5b792dfe31685a7f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* DirectShow: Add WhiteBalancePreset and ColorTemperature for the cameraDenis Shienkov2015-12-102-26/+142
| | | | | Change-Id: I9a646418d6177338735e1eb38967fd092e21e0cf Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* GStreamer: Adjust the camera's manual color temperature through V4L2Denis Shienkov2015-12-106-16/+428
| | | | | | | | | GStreamer does not support setup of manual color temperature for the camera. Now it is implemented through the V4L2 interface, where it is works together with the GStreamer and covers the GStreamer's holes. Change-Id: Icaeadeb4e21ec7865bcfa908bead318d4ead8ba5 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Doc: Move all doc artifacts under one projectVenugopal Shivashankar2015-12-079-87/+44
| | | | | | | | | Although the Qt Multimedia module has two submodules, a single project is sufficient to document these submodules, avoiding unnecessary maintenance overhead. Change-Id: I8fab48241b5c9aba35890a8aaa28ce7154f78c45 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* WMF: correctly handle media with multiple streams.Yoann Lopes2015-12-042-75/+90
| | | | | | | | Only use the default streams and make sure only one stream of each kind (audio/video) is added to the topology. Change-Id: Ied37174fa722068b4cd1b5f91b60e0cef5c1d7b3 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* WMF: correctly handle samples in the video probe transform.Yoann Lopes2015-12-041-56/+29
| | | | | | | | | Set the right flags so the renderer doesn't allocate its samples. We can then just forward the samples we get from the upstream element and avoid a copy. Change-Id: Iafc15b81531a7415823d063c47a326ea6239136f Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* WMF: fix type negotiation in video probe transform.Yoann Lopes2015-12-043-78/+87
| | | | | | | | - report supported types (same as the video sink) - handle type changes coming from upstream Change-Id: I922fc4869ecac3999e055c39adf1b847127a0012 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Android: fix QMediaRecorder crashing the camera server on some devices.Yoann Lopes2015-12-048-12/+89
| | | | | | | | | Some devices require MediaRecorder.setPreviewDisplay() to always be called, even though the Android doc says otherwise. Task-number: QTBUG-37837 Change-Id: I1e9b56f06e7c41bdf684f93b5ec7635f8ae9f379 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Android: support non OpenGL video surfaces for the camera.Yoann Lopes2015-12-0428-233/+1179
| | | | | | | | | | | | | | | QCamera can now pass raw frame data to its QAbstractVideoSurface. The now deprecated Android camera API we're using doesn't allow to get frame data without also displaying the frames in a SurfaceView or a SurfaceTexture. To work around that, an invisible dummy SurfaceView is used. This allows to retrieve frames in the NV21, YV12, YUY2 or RGB565 formats, depending on the Android version and on the device. Task-number: QTBUG-35416 Change-Id: I77b4f50505c3b91efb4b2288a57f50398922c0db Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Android: Camera updatesChristian Strømme2015-12-041-35/+42
| | | | | | | | | There's no need for callbacks to block any other threads from reading from the camera pool, so use a read/write lock instead. There's also no benefits gained from using a QMap, so use a QHash map instead. Change-Id: Iaac74c0173d2dddc296f5d2c03116724ffdc588c Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* DirectShow: Implement basic QCameraImageProcessingControl interfaceDenis Shienkov2015-12-017-2/+412
| | | | | | | | This commit implements the contrast, saturation, brightness and sharpening adjustments, using DirectShow backend. Change-Id: I438595550ff804f2a20028b4bc020c566d309127 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* winrt: Fix Lumia 930 black viewfinder.Samuel Nevala2015-11-271-2/+3
| | | | | | | | | Add Lumia 930 to the camera texture blacklist. Task-number: QTBUG-49660 Change-Id: Icc4cdbb5e5e736b2273c46f0537a62aeaad0c605 Reviewed-by: Matti Malinen <matti.malinen@digia.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* DirectShow: Remove unused static function decibelsToVolume().Friedemann Kleint2015-11-251-11/+0
| | | | | | | | Fix warning: player\directshowplayercontrol.cpp:56:12: warning: 'int decibelsToVolume(int)' defined but not used [-Wunused-function] Change-Id: Ic482be6b58f675da008a0e0600d73c127871f3d7 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Doc: Exclude outdated content using \omit commandVenugopal Shivashankar2015-11-251-3/+2
| | | | | | Change-Id: Ifb30e398b57550788dab6955e3eac80949d47248 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Fix some private headers.Yoann Lopes2015-11-2410-20/+65
| | | | | | | | | - Add missing "We mean it" comment - Add missing '_p' suffix for QtMultimediaQuick_p headers Task-number: QTBUG-49480 Change-Id: I1fd4f8b2fdffecebaebaedaf1b78e1da62c08156 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Implement volume in audiocapture plugin.Yoann Lopes2015-11-233-7/+71
| | | | | | | | This plugin uses QAudioInput as audio source for the recording, just forward the volume to it. Change-Id: Ice3ec5e48195b13d5f738b79a357dfc261ad8955 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Yoann Lopes2015-11-2023-65/+321
|\ | | | | | | Change-Id: I8e0f222f110cc23b426f2d68416f5cc3982e30f2
| * Add qt_real_to_fraction() helper function.Yoann Lopes2015-11-196-46/+154
| | | | | | | | | | | | | | | | | | | | Private API meant to be used by plugins whose backends expect frame rate values represented by a ratio. The function implementation was moved from the AVFoundation plugin to the QtMultimedia library. Change-Id: I555b9d5da5ca3bae88992ed03501869fb731e45f Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Support compiling with GStreamer < 0.10.32 in the camerabin plugin.Yoann Lopes2015-11-1915-18/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documented minimum GStreamer version for Qt Multimedia is 0.10.24, however, the camerabin plugin actually required 0.10.32 to compile successfully. The reason is mainly due to the GstEncodingProfiles API, which is used to implement the audio and video encoding settings controls. There's no hard requirement for that API anymore and the aforementioned controls simply don't do anything when the GStreamer version used to compile is older than 0.10.32. A few other GStreamer calls had to be ifdef'd or replaced in order to compile with 0.10.24. Note that this patch only makes sure it compiles with older versions, running the camerabin plugin with GStreamer < 0.10.32 is currently untested and it might not work as expected. Task-number: QTBUG-48914 Change-Id: I4ce8e932f24a33e919e29326729e12bbae561faf Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Don't initialize volume on pulse audio input by default.Morten Minde Neergaard2015-11-192-1/+5
| | | | | | | | | | | | Task-number: QTBUG-49461 Change-Id: I32b707e19091ab8344175b2dc0cdd1747f1186b3 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | winrt: Wait for focus to finish when camera stoppedSamuel Nevala2015-11-201-4/+19
| | | | | | | | | | | | | | | | | | Change-Id: I53918a8f7c5f50331593ad09233cd737e040e650 Task-Id: QTBUG-49527 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Matti Malinen <matti.malinen@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | Fix use-after-free in AVFCameraService during renderer destructionJohn Brooks2015-11-191-7/+4
| | | | | | | | | | Change-Id: I10a994b71e55565c0de31aa0c34f32964e2e3a1b Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* | winrt: Early return from searchAndLock if camera not active.Samuel Nevala2015-11-191-5/+6
| | | | | | | | | | | | | | Change-Id: If2279db9cffbc5d06f0d662b6f942b6985034675 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com> Reviewed-by: Matti Malinen <matti.malinen@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-11-181-2/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-171-2/+2
| |\| | | | | | | | | | Change-Id: I72dc669a746c7685874afced3ee0f2f899aaf1cc
| | * GStreamer camerabin: always provide the zoom control.Yoann Lopes2015-10-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | It doesn't actually require GstPhotography to be available at compile time. Change-Id: I738e71e4a108a40e79440096be6607afff0134fa Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | | winrt: Fix toggling camera position.Samuel Nevala2015-11-171-3/+3
|/ / | | | | | | | | | | | | | | | | | | Change scanline direction every time camera position changes. Change-Id: I8673eabe361c951f97f4422a682d11e862f8b27a Task-Id: QTBUG-47809 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | winrt: Fix crash when camera unloaded while searching focus.Samuel Nevala2015-11-112-8/+14
| | | | | | | | | | | | | | | | | | | | Return early from focus related methods when async operation reports that it is write protected. Change-Id: I41bf9121e7ae431e5158b5e4c43cde582c30dfd7 Task-Id: QTBUG-49347 Reviewed-by: Peng Wu <peng.wu@intopalo.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | QtMultimedia: Fix build with CONFIG+=use_gstreamer_camera optionDenis Shienkov2015-11-111-1/+1
| | | | | | | | | | Change-Id: If2d996545cc61c019f44c3c4f311b659513ff754 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | DirectShow: Avoid warning about unresolved error when file is missing.Nodir Temirkhodjaev2015-11-111-0/+1
| | | | | | | | | | | | | | AddSourceFilter() can return E_FAIL. Change-Id: Idbd8ec5a4a3c9b9d8fef9ff690cc0169f4027666 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | DirectShow: fix custom renderer reference counting.Yoann Lopes2015-11-062-5/+7
| | | | | | | | | | Change-Id: Iadefd4d72bdafb982a79b99ee5880dba32f3e920 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: use the EVR in the window control.Yoann Lopes2015-11-0523-190/+548
| | | | | | | | | | | | | | | | | | | | Reuse existing code from the WMF plugin, which already uses the EVR. This enables HW-accelerated video decoding when using QMediaPlayer with a QVideoWidget. Task-number: QTBUG-45593 Change-Id: I757e4d53cd2c648aee6ba33a4851a8c6adc62843 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: fix media player seeking.Yoann Lopes2015-11-044-24/+43
| | | | | | | | | | | | | | Correctly handle seek requests happening when the media is not playing. Change-Id: I82c508dae41792b75a26e86512da66a4871f6352 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: fix some media player status issue.Yoann Lopes2015-11-041-0/+5
| | | | | | | | | | | | | | | | Change the status to LoadedMedia if the media position is changed while in the EndOfMedia status. Change-Id: I6614fc184be80b11952b0e45af22ef030cfc36c5 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: clear current video frame when stopping.Yoann Lopes2015-11-041-0/+8
| | | | | | | | | | Change-Id: I063d8a1b95f3d751f55dfce7fa2cb749177dc906 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: set timestamp on media player frames.Yoann Lopes2015-11-041-4/+18
| | | | | | | | | | Change-Id: Ie3d395c7ac4a9c1f52c3dedfd5bc3993744aa503 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | DirectShow: fix setting volume when a media is not loaded.Yoann Lopes2015-11-042-38/+26
| | | | | | | | | | | | | | Store the pending volume and apply it once the media is loaded. Change-Id: I6998e9139aa3680220faa871b3116409855a1b35 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | AVFoundation: don't automatically rotate camera captures.Yoann Lopes2015-11-042-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | We shouldn't do this automatically, as different kind of orientations might be wanted (sensor, device, UI). The default should be sensor orientation (no rotation applied). We should add an API to QCamera to enable automatic orientation of captured images. Change-Id: I56fff7f0c4aaaee37eb6ae2628e27073b4946b66 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | 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>
* | Doc: Update examplesinstallpath to include the repository nameTopi Reinio2015-10-212-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The examplesinstallpath variable in .qdocconf files defines the path under QT_INSTALL_EXAMPLES where examples are found. To match the way examples are packaged in Qt 5.6, prefix the install path with the repository name. Task-number: QTBUG-48736 Change-Id: Idb61addec1cc8a01c31cfa05a2424a2b4ac85a91 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | AVFoundation: fix camera capture previews.Yoann Lopes2015-10-204-38/+82
| | | | | | | | | | | | | | | | | | | | Generate the preview from a viewfinder frame and not from the final JPG image. In addition, the preview is now rotated to always be in the same orientation as the device at the time of capture. Task-number: QTBUG-46971 Change-Id: I48851225738e50fbd89c2f94904bac366303a9ad Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Add private API for conversion from QVideoFrame to QImage.Yoann Lopes2015-10-2013-567/+905
| | | | | | | | | | | | | | | | | | | | The Android plugin had a function to convert from NV21 to RGB32. It's now moved to the Qt Multimedia library and it supports additional source formats. It could be further improved with more SIMD code, it could then become a public API. Change-Id: Ibee349027048a263a1a7ea74dc51237f7747912c Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Yoann Lopes2015-10-2014-45/+152
|\| | | | | | | Change-Id: Ie1e478eca1cdfd99ccd3a3c8a07aefbfa27ccbdb
| * GStreamer: fix compilation with version < 0.10.31.Yoann Lopes2015-10-2012-30/+147
| | | | | | | | | | | | | | | | | | | | Qt 5.4 and earlier required GStreamer 0.10.24 as minimum version. Qt 5.5 added code that requires 0.10.31, this code is now ifdef'd and we now support again 0.10.24. Task-number: QTBUG-48353 Change-Id: Ie708a33c0515874b003ce26a3400475075d316ca Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Fix signal/slot declaration in QVideoOutputOrientationHandler.Yoann Lopes2015-10-161-2/+2
| | | | | | | | | | Change-Id: I03cdd677feaf06ac2d61682cab46232f983e6494 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * AVFoundation: fix camera frames texture format.Yoann Lopes2015-10-161-13/+3
| | | | | | | | | | Change-Id: I87ca4abf80a5be9983aefc791b8a0ef0cd4ac33d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.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>