summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix linking problem when built with -no-openglold/5.2Andy Shaw2014-02-171-0/+3
| | | | | | | | | When -no-opengl was used then it was not automatically pulling in the needed Windows libraries as it was not loading opengl.prf to get them from. Change-Id: I9b73e5ee01da964a64c71b6261ff4ed98ce6f1a9 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* adding zero-copy-QSGVideoNode for imx6Thomas Senyk2014-02-1112-1/+749
| | | | | | | | | | | | | On imx6 there is a platform-specific API to implement memory-mapping from gstreamer-buffer to opengl-texture. This plugin uses this API to avoid CPU-based-memory-copy. This allows fluid video-playback up to 1080p with very little CPU load. Before even 720p used one cpu-core completely and wasn't fluid. Change-Id: I0c33eb5d475393a65459291ce9290fa0753de4a5 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add meta-data mappings for GPS and camera make and model to camerabin.Andrew den Exter2014-02-101-2/+9
| | | | | | | This enables writing gps positioning information to captured images. Change-Id: I663f7b94b5e6040865358df1ae45d67b73c54f92 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix gstreamer crash when meta-data is of incorrect type.Andrew den Exter2014-02-101-56/+66
| | | | | | | | | | | GStreamer tags are typed and the correct type must be used when inserting a value into a GstTagList or subsequent merges or data accesses can crash because of invalid casts. Found while adding additional mappings for GPS values. Change-Id: I95ab40a480a4685bf4e69064315557faa9de288e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* QAudioOutput: Don't guess media role if one has not been provided in ↵Robin Burchell2014-02-071-10/+2
| | | | | | | | | | | | | setCategory. Trying to heuristically guess this kind of thing is almost always a bad idea. Expect the creator of the output to explicitly tell us the category instead of guessing. This fixes QAudioOutput not respecting system volume on Sailfish. Change-Id: If1d05192f513eb54fdfbd1df217286f329b2bfe8 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* QSoundEffect: Don't try guess a media role if one has not been provided.Robin Burchell2014-02-071-5/+1
| | | | | | | | | Trying to heuristically guess this kind of thing is almost always a bad idea. Expect the creator of the output to explicitly tell us the category instead of guessing. Change-Id: I5f2988e2456685f3622e0ab136951b1742215f71 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Don't mirror the image from the camera unless it has been flippedAndy Shaw2014-02-032-3/+39
| | | | | | | | | | | | | | | | The camera itself can have a mode set that causes the image to be flipped so instead of always mirroring the image that is taken from the camera we check for the supported modes first and then check the mode and only mirror if it is set. Otherwise we assume that it does not need horizontally flipping but that it needs vertically flipping which seems to be the standard for cameras on Windows. [ChangeLog][QtMultimedia][Windows] Fixed the incorrect mirroring of the image from the camera Task-number: QTBUG-30365 Change-Id: I166b1f354e8d91c9a6c64f64164d782b52df98d8 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: add missing information in frames retrieved with QVideoProbe.Yoann Lopes2014-01-301-6/+11
| | | | | | | | The number of bytes per line was missing. Change-Id: I0afbdcfd6d7195b7beb3fd09f4ed262f756be848 Reviewed-by: Denis Kormalev <dkormalev@ics.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-01-271-0/+35
|\ | | | | | | Change-Id: If97b68b56071e241c659ddd231f28e433954d7be
| * Update changelog for 5.2.1v5.2.1Thiago Macieira2014-01-231-0/+35
| | | | | | | | | | | | Change-Id: Id1df662afb2ec0e7eb7055bbc2c5c523a5bda125 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Fix sending End Of Stream on gst pluginDaniel Nicoletti2014-01-271-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | When streaming to gst a typefind operation is performed which jumps around to find which codec the file provides, this fix the call to send an EOS before we try to read and not after which causes confusion to gst. Task-number: QTBUG-32963 Change-Id: I2658b6a4e960430c8ab422a3bee5e11956663116 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Fixes mediaplayer crashes on OSXtom2014-01-241-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the "libqavfmediaplayer.dylib 0x0000000110fa7c8c -[AVFMediaPlayerSessionObserver unloadMedia]" crash on Macs. The problem was: writing to memory that had already been released. If not sure, one should always check if the objects exist before deleting it. Solution tested on OSX 10.7, 10.8, 10.9 [ChangeLog][qtmultimedia][avfmediaplayersession] Task-number: QTBUG-34213 Change-Id: Iac108711851c348e96e73542b4e71653007eeb54 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-01-2219-212/+688
|\| | | | | | | Change-Id: Ifcb0e0bac29c11980ea2a9d67b12e1b79c4bd9f6
| * Android: fixed video rendering with multiple media players.Yoann Lopes2014-01-205-109/+269
| | | | | | | | | | | | | | | | | | | | | | It seems all Android media players share the same video buffers, which results in textures containing frames for the wrong media player. When getting a new frame, we now copy it into a FBO in order to avoid that another media player overwrites the frame being shown on screen. Task-number: QTBUG-35868 Change-Id: I6701cf7368a3ef9e73d649c3ece1f206cafd5bb3 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Android: fixes custom camera focus point.Yoann Lopes2014-01-203-7/+45
| | | | | | | | | | | | | | | | | | The custom focus point passed to the camera was in viewport orientation but should be in sensor orientation. The two might differ. Task-number: QTBUG-36208 Change-Id: Id272402090c2814e02abc527c0f6a6e932a60081 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Fix incorrect/missing application of recording settings in camerabin.Andrew den Exter2014-01-175-17/+55
| | | | | | | | | | | | | | | | | | | | | | Don't set profiles if no settings are specified. Apply all settings before starting a pipeline as the mode can switch without being restarted and incompatible video recording settings can prevent the pipeline starting even in image capture mode. Set audio encoding settings and encoder profiles if they are supplied. Change-Id: I06febf977c2cae306383f9dbaae0f81f531b4757 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Fix writing orientation and date exif tags in camerabin.Andrew den Exter2014-01-172-4/+63
| | | | | | | | | | | | | | | | | | | | Orientation tags need to be transformed from the string tag returned by gstreamer to the orientation in degrees. Date tags need to be inserted with gst_date_time_new_local_time. Finally setting a tag value shouldn't clear all other tags. Change-Id: I28922148251084c12cf6c93d9b097fa5df41da9d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Remove workaround for resolved gstreamer bug.Andrew den Exter2014-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | Reloading the capture pipeline before recording is unnecessary and introduces a big pause. Don't do it. https://bugzilla.gnome.org/show_bug.cgi?id=649832 was resolved in gstreamer 0.10.23 Change-Id: I0de02af52dcc193bce7a4e3e61407ae1c2d3818c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Allow the user to specify the viewfinder resolution instead of guessingAndrew den Exter2014-01-176-71/+247
| | | | | | | | | | | | | | | | | | | | | | | | Guessing badly prevents the camerabin pipeline from loading at all and the fallbacks used are not representive of the capabilities of most cameras. So either stay out of the process and let gstreamer negotiate a resolution if it can, or use a resolution supplied through the viewfinder settings control by someone hopefully better informed. Task-number: QTBUG-30842 Change-Id: Iec2dcc2476f38822f9e0d02301e46a1f49b7c6da Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Android: fixes some issues with JCamera.Yoann Lopes2014-01-161-3/+7
| | | | | | | | | | | | | | | | | | | | | | - Quit the worker thread only when the worker is deleted. This makes sure all events are processed before terminating the worker. - Correctly cache the preview size even when it's an invalid one. Task-number: QTBUG-36204 Change-Id: I76055984e8ece3f7f40dba7dd89d28a4faa1e72e Reviewed-by: Denis Kormalev <dkormalev@ics.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Allow plugins to override the QML VideoOutput type.Andrew den Exter2014-01-2021-30/+76
| | | | | | | | | | | | | | | | | | Move QDeclarativeVideoOutput to the private QtMultimediaQuickTools library to make the QDeclarativeVideoOutputBackend interface implementable by a plugin. Change-Id: I763c483a1fc9ec56dc7b8be0bc71523f029a36ee Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Android: optimized NV21 top ARGB32 conversion.Yoann Lopes2014-01-171-15/+550
| | | | | | | | | | | | | | | | | | | | | | Now based on fixed-point arithmetic and uses pre-generated lookup tables for YUV coefficients and RGB clamping. The new implementation is on average 2x-3x faster than the previous one (tested on the Samsung Galaxy S4). Change-Id: I1daf12f7f9b2f2334e90e0ede79e6d83800f1db6 Reviewed-by: Denis Kormalev <dkormalev@ics.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Bump MODULE_VERSION to 5.2.2Sergio Ahumada2014-01-161-1/+1
| | | | | | | | | | Change-Id: I662277a4ed9341f188e5e3f1abab50c6f5f85577 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix build without Qml and Quick modules.Yoann Lopes2014-01-164-8/+17
| | | | | | | | | | | | | | | | | | Conditionally enable auto-tests that depend on the Quick and Qml modules. Task-number: QTBUG-35911 Change-Id: I8b9d304ea630093d423b48a4ebc53ef6f4280244 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | Fix build error on BlackBerry10Wolfgang Bremer2014-01-161-2/+2
| | | | | | | | | | | | | | | | | | The variable type was changed to QStringRef but the the conversion to QStringRef was left out. Change-Id: I973b0eb5795fa7bcf89ceac809fb3ff607a85913 Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Use QStringRef instead of QString whenever possible.Jędrzej Nowacki2014-01-1511-23/+23
|/ | | | | | | That way we reduce count of temporary QString instances. Change-Id: Id806c68ea616828c2355c07b8576616fa6a8da17 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Only acquire resources as required in gstreamer backend.Andrew den Exter2014-01-1312-25/+107
| | | | | | | | | | | Make resources required for capture optional and disable just the capture features if they are not available, so the camera viewfinder can be displayed and images captured without blocking the music playback and the other way around. Change-Id: Ic9692195156d994ccd4a911ae41d2242a00d575b Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix playback with exotic gstreamer pipelines.Andrew den Exter2014-01-131-1/+7
| | | | | | | | | | Extend the list of raw video formats, and allow the playbin flags to be overridden by an environment variable when the default isn't suitable for whatever reason. Change-Id: I4c7d821b0ce29f5ad2dc0341e378ffd17c489e98 Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix recording settings being discarded by the Camera QML type.Andrew den Exter2014-01-132-0/+11
| | | | | | | | | | Query existing settings from the recorder instead of locally cached settings as some other agent may have applied some settings separately and those would otherwise be discarded. Change-Id: I0ebeaf06c6f7306c5987aa269032842b538a6a8b Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix configuration of camera settings in camerabin backend.Andrew den Exter2014-01-133-5/+44
| | | | | | | | | Enable gstphotography interfaces if the compile check passes, and implement missing pieces of whitebalance and focus configuration. Change-Id: Icd24dfd148204f8d8218176593c3120427a13e1e Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Allow the camerabin source selection to be overridden.Andrew den Exter2014-01-135-50/+80
| | | | | | | | | | | Prefer the default camera-source element if there is one or an element identified by an environment variable to a static list of possible elements which may not be appropriate for the target environment. Change-Id: I53816c949307953780f9046eb11e09effe059be0 Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Andy Nichols <andy.nichols@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* don't error out on static buildsOswald Buddenhagen2014-01-101-2/+0
| | | | | | | | | | commit daa8e22 made it actually work, but apparently forgot to re-enable it. Task-number: QTBUG-35843 Change-Id: Ib782634a4b1916e25e22f0b4c4f7bf42bf92b52f Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* BlackBerry: Fixed volume settingBernd Weimer2014-01-101-1/+1
| | | | | | | Mute status is taken into account when setting the volume. Change-Id: Id2b9c7f6a1e5b6e4f5d4c82830544394c714b48f Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Mark tst_qcamerabackend test as insignificant on Mac OS XSimon Hausmann2014-01-081-0/+2
| | | | | | | | | It has failed 6 times during qt5.git stable integrations since September 2013 See also QTBUG-36040 Change-Id: I6abd5b2723d2346a4831ab28fa040c14615148b0 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: QVideoProbe support for cameraDenis Kormalev2014-01-089-11/+248
| | | | | | | | | | | QMediaVideoProbeControl sublclass added to capture service to make QVideoProbe work with Android camera. [ChangeLog][QtMultimedia][Android] QVideoProbe support for camera Task-number: QTBUG-35416 Change-Id: I14d0a0e8abd14ee8f577e2901b976b8ed46eb320 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix some typos in documentation.Jeff Tranter2014-01-076-8/+8
| | | | | | | | Fix some spelling and grammatical errors in comments that show up in Qt documentation. No changes to code. Change-Id: Ieb7be17bd1d50751f00620f7ac28d09355856ac0 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Fixed some documentation for VideoOutput qml type.Yoann Lopes2014-01-061-2/+2
| | | | | | | | mapPointToSource() and mapPointToSourceNormalized() were documented with the wrong name. Change-Id: Ia128f698a02f1c865bc27443ef2c6cef8fc7a720 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* PulseAudio: fix crash when failing to create a context.Yoann Lopes2014-01-061-2/+3
| | | | | | | | | | Don't try to call a function on a null PulseAudio context. If pa_context_new() fails, we now try again to connect to the pulse audio daemon later. Task-number: QTBUG-35456 Change-Id: I0b848d3f25f57651ab31b9eca7ceb1bc9df2f682 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* GStreamer: add missing breaks in QGstreamerRecorderControl.Yoann Lopes2014-01-061-0/+3
| | | | | | Task-number: QTBUG-34914 Change-Id: I8237201cb656a3cde23e3d750939fe11e35519cd Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Correct QSoundEffect::supportedMimeTypes() documentation.Mitch Curtis2014-01-021-1/+1
| | | | | Change-Id: I154b124949ee4f07ea413d8cdb419fcc08cb8324 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Android: camera moved to a dedicated threadDenis Kormalev2013-12-235-163/+687
| | | | | | | | | | | | | Actual camera work moved to JCameraWorker which lives in dedicated thread. JCamera now acts as proxy calling JCameraWorker methods with invokeMethod (when it is needed). [ChangeLog][QtMultimedia][Android] camera operations moved to a dedicated thread Task-number: QTBUG-35564 Change-Id: Ie4edcbf0869d56b0fef4ad0c820450cc77657fdd Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: fix camera previewDenis Kormalev2013-12-115-43/+91
| | | | | | | | | | | | | At some(?) devices we can't rely on one shot preview callback because it receives data only after we start new previewing session. And this cause situation when imageCaptured signal is never emitted. This fix applies preview callback with already allocated buffers and collects all preview images in these buffers. When we capture image - we can simply fetch last preview image (if there was any) from c++ part. Task-number: QTBUG-34993 Change-Id: I608750c344ca3c089f4673df4907e0f47e57e2ba Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: remove dead code.Yoann Lopes2013-12-111-333/+0
| | | | | Change-Id: Ib3b595263e64336cc5d0482edd890e7b4e534927 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* WMF: fix some crashes.Yoann Lopes2013-12-113-5/+10
| | | | | | Task-number: QTBUG-30827 Change-Id: Iafc53f7095ad9c086b3982afb2af045c54497dc9 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: automatically deploy playlist plugins.Yoann Lopes2013-12-101-1/+2
| | | | | | | Include the playlistformats directory for automatic plugin deployment. Change-Id: Ie61a4b1c1637a493e1bdb7354b33060728ccabda Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android add support for qrc in mediaplayer.Christian Strømme2013-12-092-3/+14
| | | | | | | | | | [ChangeLog][QtMultimedia][Android] Enable mediaplayer to read files from the Qt Resource system. Task-number: QTBUG-31422 Change-Id: Iaaefb35566b623b78b9f8aa22daf6ac92fb35e67 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Use the backend to notify the QCamera state changes.Yoann Lopes2013-12-051-9/+1
| | | | | | | | | | We were emitting the stateChanged() signal no matter what was actually done by the backend. QCamera now emits this signal only if the backend actually changed the state. Task-number: QTBUG-35070 Change-Id: I9f32361cd815dbcc366ad30033692f9ae732ec46 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fix camera viewfinder orientation.Yoann Lopes2013-12-054-6/+50
| | | | | | | | | | | | | | | The camera sensor on Android devices might be in a different orientation than the device natural orientation. There is no API in Qt to know about the camera orientation, so correcting the viewfinder orientation is not possible without making guesses. This patch makes sure the viewfinder orientation always matches the device natural orientation. For example, if the camera is mounted in landscape, and the device natural orientation is portrait, the viewfinder will automatically be rotated 90 degrees counter-clockwise. Task-number: QTBUG-35086 Change-Id: Ia890872971d72657debe709f61edba27d09dec65 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* WMF: fixed various media player issues.Yoann Lopes2013-12-041-13/+18
| | | | | | | | | - Switch to BufferedMedia only once playback actually started, not when requesting to start. - Report the position to have changed when seeking in stopped state. Change-Id: I930b3e6977cebe5935ed033d0a4d4e1eb899ad2c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Revert "WMF: fixed MediaPlayer buffering logic."Yoann Lopes2013-12-041-13/+3
| | | | | | | | | | | This reverts commit d599f7319af86265083bae96f21d942aeff24737. This was not the correct logic... According to the documentation, the BufferedMedia status should be set only when in the PlayingState. Change-Id: I36053ebc09c0517fcd2a1a7f2b091fbe8f04f3d0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>