Commit Graph

419 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Christian Strømme
14f31c29cf 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>
2013-12-02 18:05:52 +01:00
Yoann Lopes
dd11f6d052 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>
2013-12-02 14:34:18 +01:00
Frank Osterfeld
ea9f9788d5 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>
2013-11-30 17:59:02 +01:00
Yoann Lopes
fd3efc0163 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>
2013-11-30 17:58:40 +01:00
Frederik Gladhorn
c5706f05a8 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	.qmake.conf

Change-Id: I6ea9c40c69f55fa733fd9000a57d570fff21f1e9
2013-11-29 16:03:52 +01:00
Rafael Roquetto
9b7fd8c769 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>
2013-11-28 19:37:32 +01:00
Frederik Gladhorn
1cf737648b Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-26 23:26:26 +01:00
Marius Wachtler
160656d688 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>
2013-11-26 13:54:52 +01:00
Andreas Holzammer
041e75d1c0 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>
2013-11-25 17:37:57 +01:00
Frederik Gladhorn
0c8be63708 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I25197ccc930730be363f8f65624d7fa10c1d33e9
2013-11-20 16:43:45 +01:00
Frank Osterfeld
2c7e734c8b Fix BB10 build
Change-Id: I0aa72c5ff8e86a8a4da6e9223f7168207174185d
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-10 18:23:49 +01:00
Frank Osterfeld
99667804e1 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>
2013-11-09 12:23:53 +01:00
Frank Osterfeld
66219c9a28 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>
2013-11-09 10:51:16 +01:00
Yoann Lopes
301baf2b68 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>
2013-11-06 14:28:16 +01:00
Yoann Lopes
2412c298d4 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>
2013-11-06 14:24:35 +01:00
Frank Osterfeld
27e6611c0e 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>
2013-11-04 11:46:30 +01:00
Yoann Lopes
4edc0cc3b9 DirectShow: fix compilation with MSVC 2008.
Task-number: QTBUG-34479
Change-Id: I48ab0760273e08678be5f057e2b39db8cbe10cff
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-10-31 12:46:08 +01:00
Yoann Lopes
30cf028fb1 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>
2013-10-29 20:26:24 +01:00
Yoann Lopes
acbd998749 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>
2013-10-29 11:43:08 +01:00
Tobias Koenig
43bc5f65d2 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>
2013-10-25 18:51:52 +02:00
Yoann Lopes
1235fb9910 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>
2013-10-25 18:51:52 +02:00
Rafael Roquetto
2858e6cc3e BlackBerry: fix BbVideoWindowControl window zorder
Change-Id: I6c3b70d5d5a0afcb00ce2494ee071d6f3abd7626
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-10-25 14:39:14 +02:00
Tobias Koenig
a2f9f25d85 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>
2013-10-24 16:42:25 +02:00
Tobias Koenig
e3bd0333de 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>
2013-10-24 14:00:25 +02:00
Frederik Gladhorn
f15105a02d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I15d0b9f03136840aff189ffb9de6e3899c204ca2
2013-10-24 12:56:17 +02:00
Bernd Weimer
1b563aca1a Removed camera error code
Removed mapping of one camera error code to a string, because the
code is not available yet in the BlackBerry NDK version 10.2.

Change-Id: I91a8adc8d915e065daccb665ce7a57236b9d1545
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-10-18 15:35:04 +02:00
Yoann Lopes
068169528c 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>
2013-10-16 12:09:50 +02:00