Commit Graph

1193 Commits

Author SHA1 Message Date
Thiago Macieira
d19bede8ad 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>
2014-01-23 10:18:53 +01:00
Frederik Gladhorn
819f30df33 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ifcb0e0bac29c11980ea2a9d67b12e1b79c4bd9f6
2014-01-22 11:36:50 +01:00
Yoann Lopes
a0746fe49c 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>
2014-01-20 17:26:21 +01:00
Andrew den Exter
60fb11d9a2 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>
2014-01-20 14:26:03 +01:00
Yoann Lopes
437db8df51 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>
2014-01-20 10:08:30 +01:00
Frederik Gladhorn
422099e8dd Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	.qmake.conf

Change-Id: Id367a610a3aefd288bfe287a3bf64606e582deb9
2014-01-17 17:20:59 +01:00
Yoann Lopes
a52f552d42 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>
2014-01-17 15:11:24 +01:00
Andrew den Exter
dda1bb4716 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>
2014-01-17 13:03:49 +01:00
Andrew den Exter
4565cf26af 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>
2014-01-17 13:03:37 +01:00
Andrew den Exter
0be45b5669 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>
2014-01-17 13:03:22 +01:00
Andrew den Exter
ff2cac464c 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>
2014-01-17 13:03:12 +01:00
Sergio Ahumada
88ef2bf83d Bump MODULE_VERSION to 5.2.2
Change-Id: I662277a4ed9341f188e5e3f1abab50c6f5f85577
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-16 17:30:38 +01:00
Yoann Lopes
30078eeee1 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>
2014-01-16 17:24:56 +01:00
Yoann Lopes
c54018f8e2 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>
2014-01-16 15:56:19 +01:00
Wolfgang Bremer
4b2c80c53b 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>
2014-01-16 12:59:21 +01:00
Jędrzej Nowacki
e485e066ac 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>
2014-01-15 17:12:41 +01:00
Bernd Weimer
16aadf964d BlackBerry: Changed documentation
Changed platform notes title to be able to reference it from elsewhere.

Change-Id: I0edcebc6aa04e7a063cbe8b386ca8b38e0ae22a9
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2014-01-13 10:30:00 +01:00
Andrew den Exter
15025088ea 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>
2014-01-13 06:06:33 +01:00
Andrew den Exter
b27913b76d 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>
2014-01-13 06:06:18 +01:00
Andrew den Exter
61001f8dd5 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>
2014-01-13 06:05:52 +01:00
Andrew den Exter
2ec3645b72 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>
2014-01-13 06:05:26 +01:00
Andrew den Exter
4d3f740795 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>
2014-01-13 06:05:05 +01:00
Oswald Buddenhagen
817c548df4 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>
2014-01-10 20:44:38 +01:00
Frederik Gladhorn
d2545bd40f Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I7dc36a224702721b67ffa2cf7f9ce2a6b047f88e
2014-01-10 18:30:14 +01:00
Bernd Weimer
da89319f38 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>
2014-01-10 10:25:38 +01:00
Simon Hausmann
f74d7393b8 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>
2014-01-08 18:19:54 +01:00
Denis Kormalev
0ebcf43f22 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>
2014-01-08 16:09:27 +01:00
Frederik Gladhorn
b0481d4b47 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-07 15:15:15 +01:00
Jeff Tranter
a0d39a2ab6 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>
2014-01-07 13:22:07 +01:00
Christian Strømme
4050cdf66d Fix whitespace issue in the QVideoFrame auto test.
The test was failing because it was expecting a trailing whitespace
directly after the serialization of the meta-data map.

Change-Id: I62aa022492c721d408d23a98e8a3cfa173f45e68
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-01-07 12:38:45 +01:00
Frederik Gladhorn
e236de90c2 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Iefedab3cfc470affbd3118a4e9eb3c892945cd2a
2014-01-06 16:30:19 +01:00
Yoann Lopes
eb84c34c2b 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>
2014-01-06 15:46:07 +01:00
Yoann Lopes
34f253e19d 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>
2014-01-06 15:45:48 +01:00
Yoann Lopes
e26f5093c6 GStreamer: add missing breaks in QGstreamerRecorderControl.
Task-number: QTBUG-34914
Change-Id: I8237201cb656a3cde23e3d750939fe11e35519cd
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-06 15:45:20 +01:00
Mitch Curtis
02245571bf Correct QSoundEffect::supportedMimeTypes() documentation.
Change-Id: I154b124949ee4f07ea413d8cdb419fcc08cb8324
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-01-02 11:35:59 +01:00
Frederik Gladhorn
8827ca8571 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0429a7186bef08918b777d6aa662685c57bad091
2013-12-23 15:37:31 +01:00
Denis Kormalev
a0df6c3836 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>
2013-12-23 12:17:58 +01:00
Frederik Gladhorn
967e0eb22f Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I4fea8b03bc8baaa97e95413f05d13f0f505705d3
2013-12-16 15:36:56 +01:00
Denis Kormalev
ecce937a05 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>
2013-12-11 18:25:57 +01:00
Yoann Lopes
29ded57cef WMF: remove dead code.
Change-Id: Ib3b595263e64336cc5d0482edd890e7b4e534927
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-12-11 10:31:45 +01:00
Yoann Lopes
653041db1d WMF: fix some crashes.
Task-number: QTBUG-30827
Change-Id: Iafc53f7095ad9c086b3982afb2af045c54497dc9
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-12-11 10:31:25 +01:00
Yoann Lopes
51b7864bb8 Android: automatically deploy playlist plugins.
Include the playlistformats directory for automatic plugin deployment.

Change-Id: Ie61a4b1c1637a493e1bdb7354b33060728ccabda
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-12-10 18:16:41 +01:00
Christian Strømme
966d4bc86f 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>
2013-12-09 18:09:20 +01:00
Yoann Lopes
9ceb1c083e 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>
2013-12-05 22:55:02 +01:00
Yoann Lopes
13d7f835fa 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>
2013-12-05 19:28:16 +01:00
Frederik Gladhorn
75e5708832 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I9c1abddf20e85cc0f29f2da26c398b7180e4f479
2013-12-05 18:45:33 +01:00
Yoann Lopes
99bebdbb7d 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>
2013-12-04 18:46:26 +01:00
Yoann Lopes
cbe9fc8e4d Revert "WMF: fixed MediaPlayer buffering logic."
This reverts commit d599f7319a.

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>
2013-12-04 18:46:07 +01:00
Frederik Gladhorn
fb0620219b Merge remote-tracking branch 'origin/release' into stable
Change-Id: I53a7a2a3e096f76d50f2bb3ae125f6022de5c3f5
2013-12-03 18:22:20 +01:00
Christian Strømme
186aca3ba7 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>
2013-12-03 14:10:56 +01:00