Commit Graph

379 Commits

Author SHA1 Message Date
Laszlo Agocs
66ba21971b Support dynamic opengl32 - ANGLE switching on Windows
Change-Id: I38532db3ab0ad4fcb8dbabd0cbb528f7d8e4ba06
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-29 12:18:37 +02:00
Andrew den Exter
39c2694414 Add an EGLImageKHR video node.
[ChangeLog] Added a VideoNode plugin which allows direct rendering of
EGLImageKHR backed video frames.

Change-Id: I36fb6fd27680dbe9c71a446bbd54df95488725f8
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-07-18 16:03:52 +02:00
Yoann Lopes
888759e334 New camera selection API in QML.
Also added a new QtMultimedia global object which makes it possible
to retrieve the list of available cameras. It can be extended with
new utility functions in the future.

Includes documentation, example and auto tests.

Task-number: QTBUG-23770
Change-Id: Ifea076329c3582ea99246ee1131853344a7b773f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-07-17 18:58:00 +02:00
Andrew den Exter
cddbe8736d Provide face and orientation info from gstreamer camera backend.
Cleans up duplicate device enumeration code so the devices listed by
the QMediaServiceProviderPlugin are the same as those in the
QVideoInputDeviceControl and includes face and orientation information
if available.

Change-Id: Iaa4c303c973bcf3e0f7c8c2fd7a7de629bccec86
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-07-12 02:46:10 +02:00
Frederik Gladhorn
074bd6ab37 Merge remote-tracking branch 'origin/5.3' into dev
Change-Id: I38ebcb3da0e4d2acc9e7108c9579ea98323864e0
2014-07-10 10:14:36 +02:00
Andrew den Exter
1a3ae99441 Support per-plane strides and data offsets in QVideoFrame.
Since just adding a new virtual isn't binary compatible add a new derivative
type with a virtual member and connect it up through a virtual in the private
class.

[ChangeLog] Support for per-plane strides and data offsets in QVideoFrame.

Task-number: QTBUG-38345
Change-Id: I1974c2b0b454d130e17971ce549031259d61f9cd
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-07-08 13:20:54 +02:00
Jerome Pasion
6048450ed7 Doc: Removing url variable from qdocconf file.
-url inherited from the url variable set in qtbase/doc/global

Change-Id: I5761a583cc1242f31f1beece7da2236c47e3a9bd
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-07 11:46:41 +02:00
Nico Vertriest
c9b4793350 Doc: link errors
Task-number: QTBUG-34749
Change-Id: I1d107a8700e03ac550fd6611d80a985a36558b22
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-01 13:10:14 +02:00
Sergio Ahumada
d691f5ca2b Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	.qmake.conf

Change-Id: Iecd8d7b94e52a8981526b12cffa40e99870ba62f
2014-06-14 21:59:24 +02:00
Topi Reinio
d415d3256d Doc: Fix qmlclass selector used in documentation config
A recent change (46959875) in qdoc raised QML types from
subnodes to top-level nodes. This change modifies the
documentation configuration file(s) accordingly.

Change-Id: Ie7d09a6d076a044133a8324fa5a5e28c32e7b7a6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-06-11 19:57:44 +02:00
Yoann Lopes
d71aaca893 Improve default audio plugin selection.
When no audio plugin is marked as default, use the first plugin
available.

Change-Id: Ide8db0fe55f43c4881c24505c1e2821b0fc176f6
Reviewed-by: Dyami Caliri <dyami@dragonframe.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-06-05 11:42:16 +02:00
Topi Reinio
cb6b4e2079 Doc: Remove comment about preliminary API for Qt 5.0
Task-number: QTBUG-39195
Change-Id: I193321a29d06760e4ad5aa2eaca99d98b2e1f65a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-06-05 09:48:33 +02:00
Yoann Lopes
efa4628e74 Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.
Task-number: QTBUG-39131
Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-05-30 14:47:54 +02:00
Yoann Lopes
9cf77e3bb5 Improve documentation for the QMediaPlayer::bufferStatus property.
The corresponding properties in the Audio and MediaPlayer QML elements
are also updated.

Change-Id: I7104d274d431e7712db2f045c375756e8c2ac03a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-05-15 12:41:44 +02:00
Yoann Lopes
364258abfc PLS parser: Don't translate entries.
Each entry in a PLS file uses the keywords 'File', 'Title' and 'Length'
in English, it should not be translated to the user's locale...

Task-number: QTBUG-38755
Change-Id: Ibd5bee18a856b3ebc1fdb177241db7a39b65d264
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-05-09 19:48:53 +02:00
Yoann Lopes
5339aed040 Moved QMediaStorageLocation out of the Android plugin.
It's now a private API in the QtMultimedia library in order to be
accessible in other plugins.

Change-Id: I63541de1e8c540cebc210f9037646ce74d866c6f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-05-09 16:33:12 +02:00
Frederik Gladhorn
00c072bf0e Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	tests/auto/unit/qaudioformat/tst_qaudioformat.cpp

Change-Id: I8499473569df9eac8c7069160e42ed477dacad4d
2014-04-11 14:22:22 +02:00
Oswald Buddenhagen
2d94b598d9 make MODULE_PLUGIN_TYPES assignment actually have an effect
it must be done before load()ing qt_plugin.prf.

Change-Id: I0ad31f8d9761b2d059d656c9e4f674c8a7cc88a6
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-04-07 11:51:39 +02:00
Dmitry Shachnev
b0c68a1a07 Add support for running on big-endian systems
Now qtmultimedia test suite passes on powerpc.

Change-Id: I540dff93195115ad1dc5725af7293e3b8540403f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-04-03 15:37:33 +02:00
Sergio Ahumada
b6970e2e79 Doc: Fix some documentation warnings
- Can't link to 'QSlider'
- Can't link to 'QImage'

Change-Id: Ifa1a27ca5224959d6dbb4c0055a56114740469f0
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-04-01 10:55:48 +02:00
Yoann Lopes
609d5c681b Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-03-26 19:15:39 +01:00
Yoann Lopes
c5c3ce6f9b Removed debug operator autotests.
For QVideoFrame, QAudioFormat and QVideoSurfaceFormat. There's
no point in testing the formatting of the debug operator. These
tests can break every time there's a change in QDebug's output
policy.

Change-Id: I2349b4722a428bc4c56ca58b13889790e86df4c1
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-03-26 16:35:41 +01:00
Yoann Lopes
023c6ebcb9 GStreamer: fix memory leaks.
Many GStreamer objects were not properly managed or never released.

Change-Id: I38b3854e8b9e2264b5b647f331d3bb16b886e2d6
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2014-03-21 19:16:09 +01:00
Yoann Lopes
eec1381606 Fix crash in QCameraInfo when no camera is available on the system.
Change-Id: I04bea9d6afcf567c64788c3765cc6626dc9cd482
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-03-17 14:46:53 +01:00
Thiago Macieira
d45a02e8c9 Add missing virtual destructor for new class
qmediaserviceproviderplugin.h:166:28: error: ‘struct QMediaServiceCameraInfoInterface’ has virtual functions and accessible non-virtual destructor [-Werror=non-virtual-dtor]

Change-Id: I08c6718bfd87c5adeea9969afdd4766150163238
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-03-01 14:10:01 +01:00
Yoann Lopes
f783c48a17 VideoOutput: fix autoOrientation with a camera source.
Don't assume the camera frames are always in the same orientation as the
display in its primary orientation. We now take into account the camera
sensor position and orientation to calculate the viewport orientation.

Change-Id: Ib333c87f1804d1010ada42cb757e4fab78d75a04
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-02-28 14:10:14 +01:00
Yoann Lopes
b28ee24628 New QCameraInfo class.
The class allows to get the list of available cameras on the system as
well as getting some static information about them such as their unique
ID, display name, physical position and sensor orientation.

This makes QCamera::availableDevices() and QCamera::deviceDescription()
obsolete.

This patch contains the API, documentation and auto-tests but not the
actual implementation by each backend (except for retrieving the default
camera device).

[ChangeLog][QtMultimedia] Added new QCameraInfo class
[ChangeLog][QtMultimedia] QCamera: availableDevices() and
deviceDescription() are deprecated, use QCameraInfo instead

Change-Id: I64fd65729ab26a789468979ed5444ee90bb82cd0
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-02-28 14:10:00 +01:00
Yoann Lopes
d964388b38 QSoundEffect: fix changing the loop count while playing.
The running count was not updated with the new value.

Auto-test added and documentation updated to be more clear about this
behavior.

Task-number: QTBUG-36643

Change-Id: I29e98ca4679f950a75133b21873738bcb72d23d4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-02-25 15:00:44 +01:00
Yoann Lopes
92323612d0 android: add missing feature tags.
Adding the CAMERA and RECORD_AUDIO permissions implicitely makes some
features a hard requirement for the app.
By adding these features in the .pro file, androiddeployqt will mark
them as unrequired in the final package.

Change-Id: Ie9357d05626cb12272001d63b04e230737fbf1bc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-02-21 14:40:42 +01:00
Frederik Gladhorn
c6ec402d25 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ie93615076177662e75d46f3d13beeb88d424b4a6
2014-02-12 14:11:35 +01:00
Robin Burchell
1e23440457 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>
2014-02-07 13:23:16 +01:00
Thiago Macieira
e4035bf6d0 Normalize signal & slot signatures in connection
Profiling shows Qt Creator spends 2% of its load time normalizing

Change-Id: I1a4bef16be79ced35c47da865153ebe1bee22f9c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-02-03 20:12:35 +01:00
Christian Strømme
2d54da2d39 Move win32 and Alsa audio backends into plugins.
Change-Id: I9835cf5ee97900569f26421a19543b485e933051
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-01-30 18:15:36 +01:00
Yoann Lopes
0ab81ef59f Alsa: fix crash when detecting devices.
Some old versions of Alsa crash when snd_device_name_hint(-1, ...) is
called. This patch works around the problem by iterating manually over all
the available sound cards.

Change-Id: Ic380a371acc15013d137553ff30d68bed5af664e
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-01-30 18:12:44 +01:00
Yoann Lopes
67b86a9fbd Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-30 14:32:29 +01:00
Oswald Buddenhagen
5980bc41cf whitespace fixes
remove trailing spaces & expand tabs.

Change-Id: I05ef110abed90f13b47752760ffb4567a11a6a5e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
2014-01-30 14:32:10 +01:00
Frederik Gladhorn
9459acf48e Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I83d589c55e8463cce23068dc81096aa66ec596a5
2014-01-27 18:54:20 +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
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
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
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
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
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
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
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
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
Christian Strømme
0fd995ac8b 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>
2013-11-28 14:12:22 +01:00
Sze Howe Koh
eb221bfd6d 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>
2013-11-23 00:30:30 +01:00
Eskil Abrahamsen Blomfeldt
3571a891d5 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>
2013-11-08 09:02:03 +01:00