Thomas Senyk [Tue, 28 Jan 2014 13:49:32 +0000 (14:49 +0100)]
adding zero-copy-QSGVideoNode for imx6
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>
Andrew den Exter [Fri, 7 Feb 2014 03:17:03 +0000 (13:17 +1000)]
Add meta-data mappings for GPS and camera make and model to camerabin.
This enables writing gps positioning information to captured images.
Change-Id: I663f7b94b5e6040865358df1ae45d67b73c54f92
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Andrew den Exter [Tue, 28 Jan 2014 01:28:19 +0000 (11:28 +1000)]
Fix gstreamer crash when meta-data is of incorrect type.
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>
Robin Burchell [Thu, 16 Jan 2014 14:28:06 +0000 (15:28 +0100)]
QAudioOutput: Don't guess media role if one has not been provided in 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>
Robin Burchell [Thu, 16 Jan 2014 14:28:02 +0000 (15:28 +0100)]
QSoundEffect: Don't try guess a media role if one has not been provided.
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>
Andy Shaw [Fri, 31 Jan 2014 07:23:47 +0000 (08:23 +0100)]
Don't mirror the image from the camera unless it has been flipped
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>
Yoann Lopes [Thu, 30 Jan 2014 13:01:55 +0000 (14:01 +0100)]
Android: add missing information in frames retrieved with QVideoProbe.
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>
Frederik Gladhorn [Mon, 27 Jan 2014 17:58:47 +0000 (18:58 +0100)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: If97b68b56071e241c659ddd231f28e433954d7be
Daniel Nicoletti [Mon, 27 Jan 2014 13:44:22 +0000 (11:44 -0200)]
Fix sending End Of Stream on gst plugin
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>
tom [Fri, 24 Jan 2014 10:54:43 +0000 (11:54 +0100)]
Fixes mediaplayer crashes on OSX
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>
Thiago Macieira [Wed, 22 Jan 2014 20:57:56 +0000 (12:57 -0800)]
Update changelog for 5.2.1
Change-Id: Id1df662afb2ec0e7eb7055bbc2c5c523a5bda125
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Frederik Gladhorn [Wed, 22 Jan 2014 10:36:50 +0000 (11:36 +0100)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ifcb0e0bac29c11980ea2a9d67b12e1b79c4bd9f6
Yoann Lopes [Mon, 20 Jan 2014 16:20:26 +0000 (17:20 +0100)]
Android: fixed video rendering with multiple media players.
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>
Andrew den Exter [Thu, 5 Dec 2013 05:38:14 +0000 (15:38 +1000)]
Allow plugins to override the QML VideoOutput type.
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>
Yoann Lopes [Wed, 15 Jan 2014 19:55:03 +0000 (20:55 +0100)]
Android: fixes custom camera focus point.
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>
Yoann Lopes [Tue, 14 Jan 2014 17:42:09 +0000 (18:42 +0100)]
Android: optimized NV21 top ARGB32 conversion.
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>
Andrew den Exter [Tue, 10 Dec 2013 07:20:59 +0000 (17:20 +1000)]
Fix incorrect/missing application of recording settings in camerabin.
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>
Andrew den Exter [Thu, 5 Dec 2013 07:30:04 +0000 (17:30 +1000)]
Fix writing orientation and date exif tags in camerabin.
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>
Andrew den Exter [Tue, 10 Dec 2013 04:59:38 +0000 (14:59 +1000)]
Remove workaround for resolved gstreamer bug.
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>
Andrew den Exter [Tue, 10 Dec 2013 04:25:47 +0000 (14:25 +1000)]
Allow the user to specify the viewfinder resolution instead of guessing
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>
Sergio Ahumada [Wed, 15 Jan 2014 21:58:16 +0000 (22:58 +0100)]
Bump MODULE_VERSION to 5.2.2
Change-Id: I662277a4ed9341f188e5e3f1abab50c6f5f85577
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Yoann Lopes [Wed, 15 Jan 2014 17:35:07 +0000 (18:35 +0100)]
Android: fixes some issues with JCamera.
- 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>
Yoann Lopes [Thu, 16 Jan 2014 14:20:59 +0000 (15:20 +0100)]
Fix build without Qml and Quick modules.
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>
Wolfgang Bremer [Thu, 16 Jan 2014 11:45:01 +0000 (12:45 +0100)]
Fix build error on BlackBerry10
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>
Jędrzej Nowacki [Wed, 15 Jan 2014 15:56:12 +0000 (16:56 +0100)]
Use QStringRef instead of QString whenever possible.
That way we reduce count of temporary QString instances.
Change-Id: Id806c68ea616828c2355c07b8576616fa6a8da17
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Andrew den Exter [Wed, 11 Dec 2013 04:29:57 +0000 (14:29 +1000)]
Only acquire resources as required in gstreamer backend.
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>
Andrew den Exter [Tue, 10 Dec 2013 07:59:52 +0000 (17:59 +1000)]
Fix playback with exotic gstreamer pipelines.
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>
Andrew den Exter [Tue, 10 Dec 2013 07:50:01 +0000 (17:50 +1000)]
Fix recording settings being discarded by the Camera QML type.
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>
Andrew den Exter [Thu, 5 Dec 2013 06:17:19 +0000 (16:17 +1000)]
Fix configuration of camera settings in camerabin backend.
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>
Andrew den Exter [Tue, 10 Dec 2013 03:11:07 +0000 (13:11 +1000)]
Allow the camerabin source selection to be overridden.
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>
Oswald Buddenhagen [Tue, 7 Jan 2014 15:54:44 +0000 (16:54 +0100)]
don't error out on static builds
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>
Bernd Weimer [Wed, 8 Jan 2014 15:09:13 +0000 (16:09 +0100)]
BlackBerry: Fixed volume setting
Mute status is taken into account when setting the volume.
Change-Id: Id2b9c7f6a1e5b6e4f5d4c82830544394c714b48f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Simon Hausmann [Wed, 8 Jan 2014 16:59:46 +0000 (17:59 +0100)]
Mark tst_qcamerabackend test as insignificant on Mac OS X
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>
Denis Kormalev [Wed, 8 Jan 2014 13:06:59 +0000 (17:06 +0400)]
Android: QVideoProbe support for camera
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>
Jeff Tranter [Thu, 2 Jan 2014 18:36:12 +0000 (13:36 -0500)]
Fix some typos in documentation.
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>
Yoann Lopes [Mon, 16 Dec 2013 19:00:24 +0000 (20:00 +0100)]
Fixed some documentation for VideoOutput qml type.
mapPointToSource() and mapPointToSourceNormalized() were documented with
the wrong name.
Change-Id: Ia128f698a02f1c865bc27443ef2c6cef8fc7a720
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 13 Dec 2013 14:37:50 +0000 (15:37 +0100)]
PulseAudio: fix crash when failing to create a context.
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>
Yoann Lopes [Tue, 10 Dec 2013 16:38:45 +0000 (17:38 +0100)]
GStreamer: add missing breaks in QGstreamerRecorderControl.
Task-number: QTBUG-34914
Change-Id: I8237201cb656a3cde23e3d750939fe11e35519cd
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Mitch Curtis [Thu, 2 Jan 2014 09:25:04 +0000 (10:25 +0100)]
Correct QSoundEffect::supportedMimeTypes() documentation.
Change-Id: I154b124949ee4f07ea413d8cdb419fcc08cb8324
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Denis Kormalev [Mon, 16 Dec 2013 08:54:17 +0000 (12:54 +0400)]
Android: camera moved to a dedicated thread
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>
Denis Kormalev [Thu, 5 Dec 2013 13:09:07 +0000 (17:09 +0400)]
Android: fix camera preview
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>
Yoann Lopes [Mon, 9 Dec 2013 13:09:40 +0000 (14:09 +0100)]
WMF: remove dead code.
Change-Id: Ib3b595263e64336cc5d0482edd890e7b4e534927
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Thu, 5 Dec 2013 14:55:06 +0000 (15:55 +0100)]
WMF: fix some crashes.
Task-number: QTBUG-30827
Change-Id: Iafc53f7095ad9c086b3982afb2af045c54497dc9
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Mon, 9 Dec 2013 16:07:27 +0000 (17:07 +0100)]
Android: automatically deploy playlist plugins.
Include the playlistformats directory for automatic plugin deployment.
Change-Id: Ie61a4b1c1637a493e1bdb7354b33060728ccabda
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Christian Strømme [Thu, 28 Nov 2013 14:07:21 +0000 (15:07 +0100)]
Android add support for qrc in mediaplayer.
[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>
Yoann Lopes [Thu, 5 Dec 2013 16:47:49 +0000 (17:47 +0100)]
Use the backend to notify the QCamera state changes.
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>
Yoann Lopes [Fri, 29 Nov 2013 16:16:44 +0000 (17:16 +0100)]
Android: fix camera viewfinder orientation.
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>
Yoann Lopes [Wed, 4 Dec 2013 16:02:27 +0000 (17:02 +0100)]
WMF: fixed various media player issues.
- 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>
Yoann Lopes [Wed, 4 Dec 2013 14:11:33 +0000 (15:11 +0100)]
Revert "WMF: fixed MediaPlayer buffering logic."
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>
Frederik Gladhorn [Tue, 3 Dec 2013 17:22:20 +0000 (18:22 +0100)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I53a7a2a3e096f76d50f2bb3ae125f6022de5c3f5
Christian Strømme [Mon, 2 Dec 2013 16:05:44 +0000 (17:05 +0100)]
Android: Add missing 'L' prefix and ';' postfix in areaToRect()
While it works just fine without the post-/prefix, they are suppose
to be there...
Change-Id: I99365d37c70c65ccf0713d6b2d8330030b265e8e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Tue, 12 Nov 2013 03:01:28 +0000 (04:01 +0100)]
OpenSL: Fix volume scale
The old code was assuming that the interface was expecting power
values, while it actually uses amplitude values. In addition the
difference between the min/max values where used, resulting in
quite high gain values.
Task-number: QTBUG-34777
Change-Id: Ibd3f7774b67c44e37dfd79cbe6e2c35746f00a0a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Tue, 26 Nov 2013 15:34:29 +0000 (16:34 +0100)]
CoreAudio: fix supported input and output channel count.
Only the maximum number of channels was reported as being supported.
We now report all possible configurations up to the maximum number of
channels to be supported.
Task-number: QTBUG-34639
Change-Id: Ib4c599ea8b772ebeaaca95137d24bac49dbd80d3
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: Ivan Romanov <drizt@land.ru>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Frank Osterfeld [Thu, 28 Nov 2013 09:27:46 +0000 (10:27 +0100)]
QNX/PPS: Fix end-of-track handling
The state to check for is actually "stopped", not "STOPPED".
Fixes end-of-track detection.
Task-number: QTBUG-35189
Change-Id: Ifa2f0635b31ef8c584c1800ef870c0dbef2b1daf
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Yoann Lopes [Wed, 27 Nov 2013 18:20:27 +0000 (19:20 +0100)]
Add changes-5.2.0 file.
Change-Id: Ieec89755a30996a5b0ed37ecaa6ee957344f8594
Reviewed-by: Sergio Ahumada <sahumada@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Yoann Lopes [Wed, 27 Nov 2013 17:01:56 +0000 (18:01 +0100)]
Fix version availability for VideoOutput's autoOrientation property.
This new property is available since 5.2, not 5.1.
Change-Id: Ie3b5cd3c5d909f6d4ba662a2eaf03f1e6bb8b21b
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Yoann Lopes [Wed, 27 Nov 2013 15:05:19 +0000 (16:05 +0100)]
Android: print a warning when using SurfaceTexture on Android 2.3.
SurfaceTexture is available since Android 3.0, print a warning when
camera preview or video playback is used on an older Android version.
Task-number: QTBUG-35075
Change-Id: Ie04c62df99048a25e8fd971e0708157d0d32c503
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Rafael Roquetto [Tue, 26 Nov 2013 21:40:36 +0000 (19:40 -0200)]
BlackBerry: Fix metadata key for "artist"
In order to retrieve the metadata information describing the Artist of a given
album, Qt queries for AlbumArtist, and not Author. Author actually refers to
the person who created the media file (i.e. the encoder in case of a mp3
song), and is also a string list (since more than one author is supported).
Task-number: QTBUG-34985
Change-Id: I30b61f83db07ad2274eb79b28d92d772654220de
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Christian Strømme [Mon, 25 Nov 2013 13:17:51 +0000 (14:17 +0100)]
Don't use integers to describe volume internally in QSoundEffect.
The public api takes floating point values and so does most of the back-
ends. Conversion should be done in the back-ends that expect other value
types to avoid unnecessary float -> int -> float conversions.
Change-Id: I0ee1bfbe350f985294c20f897ffa3bd55288b4c9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Frederik Gladhorn [Tue, 26 Nov 2013 22:26:26 +0000 (23:26 +0100)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
Marius Wachtler [Mon, 25 Nov 2013 14:22:56 +0000 (15:22 +0100)]
Fix WMF Video not playing if no soundcard is available
Do not add the AudioEndpoint to the topology if no Audio output device
is available. Fixes video not playing if you deactivate your soundcard
or have no headphones/speakers plugged in.
Change-Id: I9fc2486198a299b3e75af648f69475270968c6f7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Frederik Gladhorn [Tue, 26 Nov 2013 09:53:44 +0000 (10:53 +0100)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ia5060cb07311256caa0a8c7f03af292ce3a26213
Sergio Ahumada [Mon, 25 Nov 2013 11:48:11 +0000 (12:48 +0100)]
Bump MODULE_VERSION to 5.2.1
Change-Id: Ib02770f3a7a799b77bfa4356ed903a6fbb473497
Reviewed-by: Matti Paaso <matti.paaso@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Andreas Holzammer [Thu, 21 Nov 2013 13:20:15 +0000 (14:20 +0100)]
Add mmrenderer configure check
No all QNX versions/variations have a mmrenderer by
default, so we need to check for it, otherwise
it fails to compile.
Change-Id: I3efe9df37cf7807c1b0ac4d2e8f49aa02e3408cd
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Sze Howe Koh [Fri, 8 Nov 2013 16:15:21 +0000 (00:15 +0800)]
Doc: Document asynchronous nature of QMediaPlayer::setMedia()
The function name can be interpreted to mean that it loads the media.
Users have made this mistake before:
http://comments.gmane.org/gmane.comp.lib.qt.user/9189
https://bugreports.qt-project.org/browse/QTBUG-28514
Change-Id: I9e9b36405d67d40db42b77d8eeb8f9d528ee16e2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Andy Nichols [Tue, 19 Nov 2013 12:25:54 +0000 (13:25 +0100)]
iOS: Remove duplicate class name from qmldir
It was added twice, which breaks the build when using Multimedia on iOS
Change-Id: I0b5f08bc57d5d558fb060b00d5bdeb4149499a0d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Frank Osterfeld [Sat, 9 Nov 2013 17:20:28 +0000 (18:20 +0100)]
Fix BB10 build
Change-Id: I0aa72c5ff8e86a8a4da6e9223f7168207174185d
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Frank Osterfeld [Tue, 5 Nov 2013 13:28:08 +0000 (14:28 +0100)]
QNX: Restructure plugins
Now that the MmRenderer implementation is ported to plain QNX, rename
the directories and files accordingly:
"blackberry" becomes "qnx", replace the Bb prefix with MmRenderer for
classes concerned with mm-renderer. The legacy alsa support for plain qnx
is now "qnx-audio".
Change-Id: I6abd98ecdd713b2d5e554d42224dc30f13772f43
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Frank Osterfeld [Mon, 4 Nov 2013 14:52:43 +0000 (15:52 +0100)]
Support plain QNX in mm-renderer mediaplayer impl
On plain QNX, the native events are plain screen_event_t's,
instead of being wrapped in bps_event_t.
The bps/mm-renderer interface isn't available on QNX, thus
those parts are replaced by reading directly from mm-renderer's
PPS objects.
Change-Id: I38772ddad04432ff099455a730ce0034f07db70d
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Eskil Abrahamsen Blomfeldt [Thu, 7 Nov 2013 12:43:05 +0000 (13:43 +0100)]
Android: Add permissions/features for Qt Multimedia module
To avoid potential exceptions when using Qt Multimedia, the
applications needs to request camera and audio recording
capabilities by default.
Task-number: QTBUG-33953
Change-Id: I75061e24c65a24f7f45dcfdbb5edb1874c1eb4da
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Morten Johan Sørvig [Thu, 7 Nov 2013 13:41:04 +0000 (14:41 +0100)]
Add classname entry to qmldir file.
Change-Id: Id2351ddd151ca917ba5d6f032a2bd7c2d62acd79
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Yoann Lopes [Wed, 6 Nov 2013 13:27:00 +0000 (14:27 +0100)]
Android: use correct format when capturing a picture to a buffer.
Don't decode the JPEG data to raw RGB using QImage. QCameraImageCapture
reports anyway that JPEG is the only supported buffer format.
Change-Id: Ib17760e4361b004775c002b686ef7529b3768aab
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Mon, 4 Nov 2013 18:14:22 +0000 (19:14 +0100)]
Android: fix two race conditions in the media player.
start() could be called before the media player was marked as prepared.
When changing media, setMediaPath() could be called before the media
player was reset.
Task-number: QTBUG-34558
Change-Id: I886fd5f5008f76dcbc88c57d7b16a439b394d4a7
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Jerome Pasion [Tue, 5 Nov 2013 12:27:13 +0000 (13:27 +0100)]
Doc: Updated url variable in qdocconf files.
In 5.2, the HTML output is in a flatter structure and when they are
hosted in qt-project.org/doc, the documentation will be found at
http://qt-project.org/doc/qt-$QT_VER
The url variable is used by projects outside of Qt 5 which need
to link to Qt 5 documentation, such as Qt Creator.
Task-number: QTBUG-34584
Change-Id: I3971987490ef7c2f8060383ffc2e141558f827c9
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Andy Nichols [Fri, 1 Nov 2013 12:38:33 +0000 (13:38 +0100)]
Add classnames for QML plugins.
Needed for static builds on iOS
Change-Id: I2e16353a50661ac5b65a80fd37363b6e29c8b4a7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Frank Osterfeld [Mon, 4 Nov 2013 09:03:55 +0000 (10:03 +0100)]
BB10: do not mix up pixel width and height
This fixes the aspect ratio calculation for video windows.
Change-Id: Ie4762b98ee805a41031e1ba88f5cd353426dfdf8
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Oswald Buddenhagen [Thu, 31 Oct 2013 12:39:22 +0000 (13:39 +0100)]
use private linkage where possible
Task-number: QTBUG-34463
Change-Id: Iffbeed2f1a27fd38b5960afa9715815ac11b722a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Thu, 31 Oct 2013 10:57:16 +0000 (11:57 +0100)]
DirectShow: fix compilation with MSVC 2008.
Task-number: QTBUG-34479
Change-Id: I48ab0760273e08678be5f057e2b39db8cbe10cff
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Christian Strømme [Mon, 28 Oct 2013 15:36:49 +0000 (16:36 +0100)]
QSoundEffect: Set playing to true before starting the audio-device.
When the audio-device starts playing it should be able to read from the
source immediately. The OpenSL plugin would fail because the source was
blocking the audio-device from reading, as the state still was in its
initial state (stopped).
Change-Id: Ia26fa2eb442e239f5209947e6c9cd464b7d976a4
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Fri, 25 Oct 2013 13:07:02 +0000 (15:07 +0200)]
Android: fix camera preview showing black frames after restarting it.
Clear the camera preview size when stopping the preview in order to
force it to be reset when starting it again.
Task-number: QTBUG-34346
Change-Id: I0edf8d996348745b9aa7cf0790c16b6cd813b33b
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Mon, 28 Oct 2013 15:50:59 +0000 (16:50 +0100)]
WMF: emit positionChanged() signal when reaching the end of a media.
This is necessary for QML MediaPlayer to report the correct position at
the end of a media.
Change-Id: Ifac2a721b850c726305d1a98e360da638b1fa87a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Tobias Koenig [Thu, 24 Oct 2013 10:49:05 +0000 (12:49 +0200)]
Blackberry: Improve camera focus handling
Use different state variables for focus/exposure/whitebalance
locks and update the exposure and whitebalance variables explicitly,
since BB10 doesn't provide a status callback method as for focus.
Change-Id: Ie6ba8f6a2a27f317c39994d21be8549c99daef6d
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Yoann Lopes [Fri, 25 Oct 2013 10:49:40 +0000 (12:49 +0200)]
OpenSL ES: enable the plugin only on Android.
Removed the configure test to enable or not the plugin (which solves
the problem of the plugin not being built on Windows because of a bug
in QMake). Even though it should work on other OpenSL ES
implementations than the Android one, it hasn't been tested. Compile
and use the plugin only on Android for now.
Task-number: QTBUG-34275
Change-Id: I02d47c8be3be8163a17c68b44b8c4b18a218a3fe
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Rafael Roquetto [Fri, 18 Oct 2013 22:08:24 +0000 (19:08 -0300)]
BlackBerry: fix BbVideoWindowControl window zorder
Change-Id: I6c3b70d5d5a0afcb00ce2494ee071d6f3abd7626
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Tobias Koenig [Wed, 23 Oct 2013 16:04:58 +0000 (18:04 +0200)]
Blackberry: Fix camera viewfinder
Enter the event loop between opening the camera and starting
the viewfinder window grabber. The latter needs a windowGroup
set, so in case the QCamera and QCameraViewfinder are constructed
directly/indirectly inside the main window constructor, we have to
wait for the top-level window of the application to be created, so
that we can retrieve the windowGroup from it.
Task-number: QTBUG-33739
Change-Id: Ib23781f0e4a2a07ba388e22debcb59b00509ed16
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Tobias Koenig [Wed, 23 Oct 2013 15:43:50 +0000 (17:43 +0200)]
Blackberry: Fix video recording
The latest BB10 firmware (10.2) requires to set the rotation
property of the video explicitly to the value of the video
viewfinder.
Change-Id: Iec9d43480820655b5d3ecdd136917d5458f0e55b
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Yoann Lopes [Thu, 17 Oct 2013 10:22:42 +0000 (12:22 +0200)]
Correctly clear the current media in Audio and MediaPlayer qml elements.
When setting the source to an empty string in these elements, pass an
empty QMediaContent to the backend rather than an empty URL. The former
is the correct way to clear the current media.
Task-number: QTBUG-34125
Change-Id: I3dd7b07abc0bd23a1253c8c0e075b174c17a4d3f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Mon, 14 Oct 2013 17:27:22 +0000 (19:27 +0200)]
WMF: fix output samples from our video probe MFTransform.
The EVR sink allocates its buffers and expect the node connected to it
to use them. Our video probe MFTransform should therefore copy the input
buffers into the EVR buffers rather than just passing on the input
buffers.
Task-number: QTBUG-30435
Change-Id: I978479ced341b96ce627c682f99662dec1dfdb3f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Friedemann Kleint [Tue, 15 Oct 2013 07:26:33 +0000 (09:26 +0200)]
Add Linguist comment for translation of Drive-mode.
Translators not familiar with cameras might mistake it for
something related to driving a car.
Change-Id: If54a563a32af537d291b79253056b7b57e108f5b
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Yoann Lopes [Fri, 11 Oct 2013 16:33:45 +0000 (18:33 +0200)]
WMF: allow to set a qrc file name as source of a QAudioDecoder.
Task-number: QTBUG-33518
Change-Id: I01d8a1fa7b9a1c3ea2af9de6033dff2773cd6ace
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 11 Oct 2013 14:57:44 +0000 (16:57 +0200)]
WMF: allow to load media whose content doesn't match its file extension.
This also allows to play streams without providing a MIME type.
Task-number: QTBUG-33631
Task-number: QTBUG-33518
Change-Id: Ia106592cb5ed0a0f7ede6308dc8e2c12cf4e63b1
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 11 Oct 2013 12:11:53 +0000 (14:11 +0200)]
WMF: fixed compilation on Windows Vista.
We were using one function which is available only on Windows 7 (and
later). Replace it with Vista-compatible calls.
Task-number: QTBUG-32864
Change-Id: I77492a407330c3689dfbf8dc1180894cf7ca5f8d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Tue, 8 Oct 2013 14:15:04 +0000 (16:15 +0200)]
DirectShow: improve metadata support.
Correctly return the list of available metadata.
On Windows Vista and later, we now use shell properties to retrieve the
metadata. This allows us to get much more metadata properties.
Task-number: QTBUG-30776
Change-Id: If542756d08d832903984ef10d09c4caf410bdb1c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Thu, 10 Oct 2013 14:56:46 +0000 (16:56 +0200)]
QNX: enable AudioCapture plugin.
This allows to use the QAudioRecorder API on QNX (and Blackberry), using
the low-latency audio plugin as backend.
Change-Id: I9bed7c01948a40f931f2a6b29c0f5cbfc99635bd
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Fabian Bumberger [Thu, 3 Oct 2013 23:16:52 +0000 (01:16 +0200)]
Enable camera on the Playbook
Change-Id: I61537899bee63150861df57f9140316eca6a6eed
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Topi Reinio [Wed, 9 Oct 2013 12:32:02 +0000 (14:32 +0200)]
Fix binding loop in declarative-camera example
Task-number: QTBUG-33879
Change-Id: I6d584fcaa049fb5be650797348452b4086dd6df0
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Fri, 4 Oct 2013 11:43:03 +0000 (13:43 +0200)]
Refactored AudioCapture plugin.
Change-Id: I025588d7d2afc8d8137a258d86f6dab5b00b234a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 4 Oct 2013 13:08:42 +0000 (15:08 +0200)]
Android: fix media recording location.
When letting the plugin decide where to save the recorded media, doing
several recordings would always use the same output file instead of
creating a different one every time.
Change-Id: If352257d6c91ada8565c1463820321f84c9bb92f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 4 Oct 2013 15:02:18 +0000 (17:02 +0200)]
Improve audiorecorder example.
- Possibility to select channel count
- Show audio level for unsigned integer samples
- Show audio level for each channel
- Correctly set output file location
- Update controls depending on the recorder status (rather than the state)
Change-Id: Ieb08c379bb01a11ce1aa52a9d92ea1f320c87d49
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Tue, 8 Oct 2013 15:26:16 +0000 (17:26 +0200)]
Remove unnecessary warning in QMediaPlaylistNavigator.
Task-number: QTBUG-33862
Change-Id: Ie74e649ebb5819ccf6300492bdce2a0046b87f02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>