Commit Graph

1634 Commits

Author SHA1 Message Date
Andy Shaw
6b6cb2121f Ensure the system libraries are linked when -opengl dynamic is used
Task-number: QTBUG-43211
Change-Id: Id543c74233f547c61164b9d32a5f6a3f6d1bc1b3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-02-03 05:55:41 +00:00
Yoann Lopes
abea8fcaa4 Added 5.4.1 change file.
Change-Id: Icde0e9aadb47dbf5a0b0bb22258b66b13cd5c75c
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-02-03 05:55:23 +00:00
Peter Seiderer
ea222e64b1 Fix no-opengl pixel format check (reenables Format_RGB24)
Disable Format_RGB24 only in case of QOpenGLContext::LibGLES by
moving the no-opengl endif after the check against Format_RGB24.

Change-Id: I389ae2bb32dc8b2c55ec801f52d820620630b1c0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-02-02 10:19:44 +00:00
Yoann Lopes
2f49444638 Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev 2015-01-23 12:22:50 +01:00
Laszlo Agocs
d07a22c884 Fix initialization order
Avoid the following warning:

In file included from qgstreamerplayersession.cpp:34:0:
qgstreamerplayersession.h: In constructor ‘QGstreamerPlayerSession::QGstreamerPlayerSession(QObject*)’:
qgstreamerplayersession.h:203:10: warning: ‘QGstreamerPlayerSession::m_usingColorspaceElement’ will be initialized after [-Wreorder]
     bool m_usingColorspaceElement;
          ^
qgstreamerplayersession.h:197:17: warning:   ‘GstElement* QGstreamerPlayerSession::m_videoSink’ [-Wreorder]
     GstElement* m_videoSink;
                 ^
qgstreamerplayersession.cpp:107:1: warning:   when initialized here [-Wreorder]
 QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
 ^

Change-Id: Ic4dfe6ead19db8d581cc7de622f478e63524715b
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-01-19 15:01:51 +01:00
Yoann Lopes
af2d5a181c Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	.qmake.conf
	src/plugins/gstreamer/camerabin/camerabinsession.cpp

Change-Id: I66a6f3efc5391013934b6b321073c31f25e1de26
2015-01-19 14:45:09 +01:00
Oswald Buddenhagen
4ab105b89e Bump version
Change-Id: I29a6579deefb4ca80bb014c43ee34697fa89bd47
2015-01-16 21:06:40 +01:00
James Turner
9a215d954b Rename camera classes to avoid name clash.
Change-Id: I08fe8f7e75bdbf2c4975863642072061741b5bc6
Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-01-15 10:45:11 +01:00
Yoann Lopes
fe21ee675e New camera viewfinder settings API.
There already was a control interface for the viewfinder settings
but no real public C++ API and a partial QML API.

This patch adds a new C++ API and improves the QML API.

Supported viewfinder settings are resolution, minimumFrameRate,
maximumFrameRate and pixelFormat. The camera can be queried for
the supported values for each of these settings.

A new control interface was created to match the new API.

Change-Id: I289fea038fe46277a5516c956a64280da09ed985
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2015-01-13 13:34:41 +01:00
Laszlo Agocs
c93d83c4b7 Add resolution and fps on mfw_v4lsrc
Add support for changing resolution and frame rate with mfw_v4lsrc.
This is essential for embedded applications that are not happy with
the default VGA@30.

This makes constructs like the following functional on devices like
i.MX6 with MIPI cameras:

Camera { viewfinder { resolution: "320x240"; maximumFrameRate: 15 } }

Change-Id: Ia297afdb5ca51c6e55ad45dce37fdab7da3a5cfb
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-01-12 19:52:13 +01:00
Laszlo Agocs
bf8f6c88c9 Migrate to categorized logging in Quick 2 video output
Enable qt.multimedia.video to get the logs. Also enhance the printing
when creating the video node implementation. It is essential to have
an easy way to figure out what handle and formats the node in use
supports.

Change-Id: Idf3a9f076ba03b5e613c19f2347204c841850b45
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
2015-01-09 16:07:03 +01:00
Laszlo Agocs
03593d86b8 Support byte ordered QImage formats in pixelFormatFromImageFormat
For QVideoFrame purposes they are equivalent.

Change-Id: I776c60aa8ca848e58499bbd0c1fc25c457d46ef6
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-01-09 11:32:33 +01:00
Timur Pocheptsov
c31d8cddd0 AVFImageCaptureControl - invalid connection
AVCaptureConnection from AVCaptureStillImageOutput becomes invalid
as we remove/add AVCaptureDevice.

Change-Id: I698ffcc0b91b76cd5d7c25e4b244eaa0aa459159
Task-number: QTBUG-42035
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-01-08 17:48:12 +01:00
Friedemann Kleint
4459561dd5 Add missing includes for QDataStream/QIODevice.
After qtbase/90e7cc172a7521396bb2d49720ee4ceb9a9390b3,
QStringList no longer includes QDataStream.

Change-Id: Ibe3e1e6542e1b592adaabe3f8ffd3268efaf289b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2015-01-07 23:11:16 +01:00
Laszlo Agocs
a15cf55bc4 Support YUV420P in the i.MX6 video node
Camera input is often in this format. Until now the lack of GL_VIV_I420 (which
was presumably missing in older versions of the extension?) in the format list
resulted in falling back to the built-in i420 node instead of the zero-copy imx6
one. This is now corrected by adding the correct format mapping.

Change-Id: I6e891bb3bb07d64ccd5b2d170b052f677c8bd19c
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
2015-01-06 11:46:13 +01:00
Frederik Gladhorn
f450c31af6 Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev 2014-12-29 16:17:38 +01:00
Dmitry Shachnev
b21a66a608 Fix some typos in strings.
s/Endianess/Endianness/
s/changable/changeable/

Change-Id: I91a43ff6e6143f2d3fc0a93aa8bbf34a415eea90
Reviewed-by: Andrew Knight <qt@panimo.net>
2014-12-25 15:10:37 +01:00
Gabriel Hege
68dbc9ba02 Fix: static linking on Linux with both PulseAudio and Alsa plugins
Fixed multiply defined symbols when linking statically with both
PulseAudio and Alsa plugins enabled:
The private classes In/OutputPrivate had identical names and have been
renamed.

Change-Id: I9415beeeed9fb0e14ead3f0ab906f343b3934341
Task-number: QTBUG-43514
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-12-22 15:48:42 +01:00
Jani Heikkinen
61fd649861 remove unnecessary LICENSE.GPLv2
Change-Id: Ic2be97ac71f2dbf48925b2ee7fb4ab291c7573c7
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
2014-12-22 10:50:46 +01:00
Frederik Gladhorn
47698fc57f Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	.qmake.conf

Change-Id: I31e377cdccf8bf5c1ea8143faf2001ac99608c27
2014-12-17 16:53:41 +01:00
Frederik Gladhorn
a864bfa412 Merge remote-tracking branch 'origin/5.4.0' into 5.4
Change-Id: Ice62a75ba6ff094e22e8affbecf26f4d3bf2f282
2014-12-17 12:59:05 +01:00
Oswald Buddenhagen
cb0fb37b10 Bump version
Change-Id: I7e93575a6e3767485e2a5430312e87527b2c9b2d
2014-12-12 13:48:26 +01:00
Andrew Knight
ce7b59c28d winrt: Add missing QAbstractVideoSurface::stop() call.
This was preventing the surface from restarting with a different format.

Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-11 16:49:07 +01:00
Andrew Knight
1027215920 winrt: Fix encoding properties
These should match the capture mode. Additionally, there was a semantic
error preventing the encoding properties from being properly selected.
This fixes a bug in which the viewfinder was receiving frames too large
for display as an OpenGL texture.

Task-number: QTBUG-41065
Change-Id: Ia82c8f44bba1692a219edc5f9d78fc76c3d8a4ba
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2014-12-11 16:48:54 +01:00
Andrew Knight
791febc1d3 winrt: Fix camera auto rotation
There is no Windows Runtime API to find the camera sensor rotation, so
assume that phones always have a camera mounting of 270 degrees. Tablet
and webcams remain mounted at the default (0 degrees). As the frame is not
flipped automatically by the system, the scan line direction is set to
BottomToTop for front-facing cameras to achieve compatibility with
other platforms.

Task-number: QTBUG-41066
Change-Id: Icf17ecd4aca9fa9d5b24d94e5b21b63ee6f21f28
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-12-11 16:48:38 +01:00
Laszlo Agocs
2b181d5469 Make it compile with no-opengl
Change-Id: I71358bb1268e5b28b66b1817a3ec0cd98459cfd2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-12-11 16:22:34 +01:00
Andrew Knight
085362ab0f Remove private API use from video orientation handler
The QPA header isn't needed anymore, as nativeOrientation was added as
a QScreen property in 5.2.

Change-Id: I7cd00feae769175fd0c4be65b503e74ee910814a
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-12-11 16:13:47 +01:00
Yoann Lopes
f420ac286a GStreamer: better camera device name logic.
Use the device ID for QCameraInfo::description() when the driver
doesn't provide any display name.

Change-Id: Iff1f17187ecb52262412f85db04d7108fae71717
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2014-12-09 12:04:10 +01:00
Thiago Macieira
aa38d3dfb1 Disable warning about QObject::event being hidden
Found by Clang 3.6:
qdeclarativemediametadata_p.h:292:14: warning: 'QDeclarativeMediaMetaData::event' hides overloaded virtual function [-Woverloaded-virtual]
qobject.h:116:18: note: hidden overloaded virtual function 'QObject::event' declared here: different number of parameters (1 vs 0)

Change-Id: I4324c984649738c9625cc3eb9dddea6e2abf46a9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-12-03 22:29:20 +01:00
Yoann Lopes
8b1ee17240 Added 5.4.0 change file.
Change-Id: I623b42d5f4f565ee7cf2d064e52609a99636bd6a
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2014-12-03 20:27:39 +01:00
Yoann Lopes
9496d5fba5 OpenSL ES: volume support for QAudioInput.
The OpenSL volume interface is not available for audio inputs on
Android so we apply the volume ourselves on the PCM data.

Task-number: QTBUG-42159
Change-Id: If43d8aa576bc70a925681f0db1ca8b40e71f7b29
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-03 16:45:55 +01:00
Yoann Lopes
3443517265 Fix VideoOutput autoOrientation when switching cameras.
The VideoOutput's camera info was not updated when switching cameras.

Change-Id: I23537ce98b08009898eaa26ef14d5b9a746ab5f7
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
2014-12-03 14:27:35 +01:00
Andrew den Exter
4bdf1561f4 Add additional exposure modes to QCameraExposure.
[ChangeLog][GStreamer][Android] Camera exposure mode extended to support
Action, Landscape, NightPortrait, Theatre, Sunset, SteadyPhoto,
Fireworks, Party, Candlelight, and Barcode modes.

Change-Id: I13d4bb042d27c0bd2ffcd369882b56bbabc84335
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-28 16:41:30 +01:00
Andrew den Exter
25ad679c25 Add a color filter property to QCameraImageProcessing.
[ChangeLog] New color filter property for QCameraImageProcessing.

Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-28 06:08:11 +01:00
Andrew den Exter
be7fef656a Add support for face detection focus point mode to camerabin backend.
[ChangeLog][GStreamer] Implemented the face detection focus point mode
in the gstreamer camerabin backend.

Change-Id: Ia582d2fb5e74d5b438aa0038224c5e20e597d53e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-28 06:07:59 +01:00
Andrew den Exter
9932feec63 Implement exposure and whitebalance lock for gstreamer camera.
Change-Id: I58277d69c18ad2e31cad719a2dd6361c0c2d7e98
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-28 06:07:44 +01:00
Andrew den Exter
dc2fec1bd8 Allow supported camera locks to change after initialization.
A camera backend may not be able to report which locks it supports
until after it is loaded, so query support on demand instead of caching
the value available at construction time.

Change-Id: I56fb1adee980ebc2fa893da3c983a6dce26329c0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-28 04:19:35 +01:00
Yoann Lopes
108dda7a90 GStreamer: port to 1.0.
0.10 is still used by default.
To enable GStreamer 1.0, pass GST_VERSION=1.0 to qmake
for qtmultimedia.pro.

Contributions from:
Andrew den Exter <andrew.den.exter@qinetic.com.au>
Ilya Smelykh <ilya@videoexpertsgroup.com>
Jim Hodapp <jim.hodapp@canonical.com>
Sergio Schvezov <sergio.schvezov@canonical.com>

Change-Id: I72a46d1170a8794a149bdb5e20767afcc5b7587c
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2014-11-27 23:30:05 +01:00
Yoann Lopes
7e3d69668e Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Iaa608643f6626ed074a9fd374555cc5bc84659d5
2014-11-27 14:44:49 +01:00
Thiago Macieira
59f2bf1864 Remove unused private members
One is not used, the others are not even initialized, so don't use the
memory.

qsoundeffect_pulse_p.h:172:20: warning: private field 'm_resourceStatus' is not used [-Wunused-private-field]
qvideowidget_p.h:211:25: warning: private field 'm_aspectRatioMode' is not used [-Wunused-private-field]
qalsaaudioinput.h:156:22: warning: private field 'timestamp' is not used [-Wunused-private-field]
qalsaaudiooutput.h:135:22: warning: private field 'timestamp' is not used [-Wunused-private-field]

Change-Id: I7c9f50d57c4d29ee0dfd7dc086771d721cdb5b05
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-25 09:49:24 +01:00
Thiago Macieira
16a386b071 Fix Clang warning about comparison of different signs
Commit 4d35f66acf changed from -1 to ~0 because
ICC complained, but Clang still sees ~0 as int. So force to unsigned.

qgstappsrc.cpp:144:31: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]

Change-Id: I6b0fdf8dc5df157d8e184f22dba44660e60ca3b2
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-24 18:35:55 +01:00
Frederik Gladhorn
eddc8e1e58 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Id87e56ccfc9f33f98c3d06991f6fe9c14d38fbac
2014-11-21 16:12:44 +01:00
Frederik Gladhorn
f2b3363c11 Merge remote-tracking branch 'origin/5.4.0' into 5.4
Change-Id: Iec2c793710c95919975aa3c03144d915ca5fa84f
2014-11-21 13:45:17 +01:00
Laszlo Agocs
96407d8d89 Fix bogus videonode plugin handling
Each plugin must provide its own unique key. Otherwise we will only ever
see one single plugin.

Right now running on i.MX6 is often broken because the imx6 videonode plugin is
not picked up since only the egl one is seen by the system. With the fix both plugins
provide their own unique key so both become visible.

Additionally, introduce a QT_VIDEONODE environment variable. This is useful to specify
which plugin to use. This is necessary in case multiple custom videonode plugins support
the same formats.

Change-Id: Iaa1988f8436dcb938cb9a95e2e0d68a4e92e113c
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-18 18:09:09 +01:00
Maurice Kalinowski
b369746ae7 WinRT: Fix compilation after ANGLE update
Header inclusion is not needed, hence remove it for WinRT.

Change-Id: I8117439849143975cad3dc14e36118b8da4621de
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-11-17 15:58:59 +01:00
Friedemann Kleint
2020b032e8 Check whether current context can be obtained when deleting textures.
Add a warning in that case.

Task-number: QTBUG-41966
Change-Id: I491ee9e13c9504040ab789951656983a736d9203
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-06 18:19:15 +01:00
Christian Strømme
e92bcbfa4d OpenSL ES: improve buffer logic
Don't use relaxed load and stores, we need to be stricter to avoid
problems with high frequency re-fills of the buffer. If we don't enforce
ordering we might end-up spending more time trying to acquire an open
slot in the buffer. Updating processes bytes is also moved off the
"OpenSL" thread.

Added some comments for improved readability.

Change-Id: Ie27965fc6bf4b8394081ae6419f4933522ada98e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-04 15:09:26 +01:00
Christian Strømme
ad929984e3 OpenSL ES: Don't store or return the adjusted volume level.
According to our own docs we should always return 1.0 (MAX) volume level
if the device doesn't support setting the volume, which is the case
for OpenSL ES on Android.

Task-number: QTBUG-42159
Change-Id: I9144e9e2cd84cc80633c68c5d6fa32b8dbd0fcd5
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-04 14:18:39 +01:00
Venugopal Shivashankar
d0ed4f3b08 Doc: Added the missing screenshot image
Change-Id: Ifcef698bd735b7fe7e5f4a92984be07a01f283fb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-11-03 12:26:04 +01:00
Friedemann Kleint
f1b775ab4f WMF plugin: Initialize member variable m_stateDirty.
Fix purify warning:
[W] UMR: Uninitialized memory read in MFPlayerControl::refreshState(void) {1 occurrence}

Task-number: QTBUG-41966
Change-Id: I1416f906dcc8c31a528ab7f09a258873fcfe9d1e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-10-31 13:19:37 +01:00