Commit Graph

339 Commits

Author SHA1 Message Date
Jani Vähäkangas
86915f01f7 Blacklist part of tst_qaudiodeviceinfo
Task-number: QTBUG-46409
Change-Id: Iebfc6595b7be3fc29f1fca61fa71a706dbe64ebb
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
2015-06-29 12:22:16 +00:00
Friedemann Kleint
a26df92bac Add CONFIG += testcase to auto/unit/qaudiobuffer/qaudiobuffer.pro.
When missing, make check is an empty target, meaning the test
is never run in the CI.

Change-Id: I6f09e0f78c26b631fdfe89d2520dc0012d177843
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-05-26 11:58:24 +00:00
Yoann Lopes
63cff37741 QMediaPlayer: handle resource files in a cross-platform way.
It was the backend's responsibility to handle resource files in an
appropriate way. In practice, it was either not handled at all,
or implemented in an almost identical manner in every backend
that does handle it.
This is now dealt with in QMediaPlayer, always passing to the
backend something it will be able to play. If the backend has the
StreamPlayback capability, we pass a QFile from which it streams
the data. If it doesn't, we copy the resource to a temporary
file and pass its path to the backend.

Task-number: QTBUG-36175
Task-number: QTBUG-42263
Task-number: QTBUG-43839
Change-Id: I57b355c72692d02661baeaf74e66581ca0a0bd1d
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Peng Wu <peng.wu@intopalo.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-04-07 17:21:47 +00:00
Yoann Lopes
dbcf44247d Improve QMediaPlayer auto tests.
Use test data only for test functions that require it.

Change-Id: I7fde1ba53ee8d2f5294597fd309a6e7d7dbbe15d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-03-04 15:50:04 +00:00
Frederik Gladhorn
f9014d136f Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3
2015-02-13 13:10:48 +01:00
Antti Kokko
bbfccc7135 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-02-12 10:27:47 +00:00
Sergio Ahumada
b1a2b3f55e bic: Add 5.{1,2,3,4}.0 bic data for linux-gcc-amd64
Remove the ia32 data since there are no linux x86 machines in
the CI system (which makes the data useless from an automated
testing point of view) and most people use x64 these days anyway.

Change-Id: Ib62195d0b992a52d3a87f460283b1f2813f0e5eb
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-02-10 13:31:57 +00: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
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
Sergio Ahumada
34cf911167 Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4 2014-09-26 16:11:59 +02:00
Sergio Ahumada
41a1c16340 Merge remote-tracking branch 'origin/5.3' into 5.4
Conflicts:
	.qmake.conf

Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0
2014-09-26 15:28:44 +02:00
Yoann Lopes
99a55585e9 Add metadata test for qmediaplayerbackend auto-test.
Change-Id: I419496293b11b6a941af08e9709595458b7ca423
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2014-09-26 14:27:13 +02:00
Yoann Lopes
ec24592186 Android: fix some problems with the media player.
- Correctly emit positionChanged signal. One of the problems with
  this was that QMediaPlayer automatically sends periodic
  position updates while playing a media. There's no need to have
  the same logic in the backend.
- Seeking after reaching the end of the media now correctly works

Auto tests included.

Change-Id: I6d5ecbae6e05f94a8aac1a0834cf57427adf219b
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-09-26 14:26:58 +02:00
Yoann Lopes
46c56ed530 Revert "QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing."
This reverts commit 0ed18d846c.
The same patch was submitted in both 5.3 and 5.4 branches. It should
have been pushed only to 5.3.

Change-Id: I9e2974886190dfb2e5def5bc325c58f6e7783f55
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2014-09-17 13:11:07 +02:00
Yoann Lopes
4c5aec9bb6 Make PLS parser more permissive.
The PLS format is not clearly specified, some rules are just assumed
and files don't always respect them.
We now only look for 'File' entries, since that's the only thing we
actually use. We ignore the Version, NumberOfEntries, Title, Length
and any other unrecognized tags.

Task-number: QTBUG-40515
Change-Id: I9c176b7b68fd1441abbd50364f88994ad5d6236f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-09-10 15:15:54 +02:00
Yoann Lopes
e26483c106 Fix URL handling in PLS parser.
Make sure relative paths are resolved to a full path.

Task-number: QTBUG-40515
Change-Id: Ideb83fc3a3c4a74c84917a22e3c30162d7b6158a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-09-09 18:06:56 +02:00
Andres Gomez
973ae5e0f6 QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.
When an error is found parsing a playlist, stop
parsing. This will also prevent the emission of
the "loaded" signal when the parser finishes.

Task-number: QTBUG-40513
Change-Id: Ia814864d0d546806219993f0b727761d5d4e7903
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-09-09 13:46:31 +02:00
Andrew Knight
778b233bcd winrt: Add media playback service
This introduces a MediaPlayer service based on the MFEngineEx API. Only
scene graph video rendering is supported at this time. The video renderer
control is abstracted in order to provide a base for future video nodes
which do not source their content from the MF engine.

[ChangeLog] Media player support was added to the winrt backend.

Change-Id: I8155a1030466ea352fad0a87d1ae97a88983760c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-08-25 16:05:24 +02:00
Antti Kokko
2732e23887 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL

Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
2014-08-24 17:30:13 +02:00
Robin Burchell
0ed18d846c QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.
When an error is found parsing a playlist, stop parsing. This will also prevent
the emission of the "loaded" signal when the parser finishes.

Some of the newly added testcases do not yet pass because the parser is overly
strict. These improvements are being tracked in QTBUG-40515.

Change-Id: I5c96b7eb488996f28eebd7b6c643940de8e2e0b9
Done-by: Andres Gomez <agomez@igalia.com>
Task-number: QTBUG-40513
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2014-08-04 05:20:29 +02:00
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
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
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
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
Yoann Lopes
a7b8872cd5 Fix some MediaPlayer properties returning wrong values.
Once the QML component is complete, don't cache any value anymore and
always ask the backend for the actual value.

Change-Id: I2c3ad55618e0532f713cfcc8258a70a1114fc975
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-04-09 14:48:49 +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
Bernd Weimer
a85e55436a Fix unit tests
Random playback mode is not good for testing index changed signal,
because the same media might be played successively.
Calling show() might result in showFullScreen() on some platforms,
which is not expected by some video widget tests.

Change-Id: Ib47433fc6411b6dfa244a245aae508df5627ec62
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-04-02 18:20:55 +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
Frederik Gladhorn
2618b6c77d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I310b468e9ba5b1e70f2e792df746a93ecb067c1a
2014-03-24 16:07:34 +01:00
Andy Nichols
ddd22fab2b Mac: Re-enable qcamerabackend test
The cause of the tests flakyness has been resolved, so it should be
re-enabled.

Task-number: QTBUG-36040
Change-Id: Ic4d18ea891ed5b6c5f4acbb4d05322b910b87d29
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-03-20 23:06:46 +01:00
Sergio Ahumada
cd7882b760 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I42587537cadade4b3f45df18385adb760fb24430
2014-03-11 09:26:50 +01:00
Sergio Ahumada
5b52c1ebb9 tst_qcamerainfo: Fix weird symbol in license header
Change-Id: Idff0ffb96fa86dd7faa9ff9b86338c238d4edcb5
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-03-06 07:54:31 +01:00
Sergio Ahumada
d5dfef66bb Prefer to use normalised signal/slot signatures
Change-Id: I48ae4b46f7a0342a1436ba78958b057e919e3a8a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-03-03 12:12:31 +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
Kai Koehne
41d41ceb4a Fix autotests expecting a trailing whitespace for qDebug stream
The behavior of QDebug was fixed in qtbase. Update autotests
accordingly.

Change-Id: I0bbd1b52958c24710f877224158fa30f082941b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-02-20 11:12:54 +01:00
Friedemann Kleint
01714ef0c5 Use QVERIFY2 for elapsed time in tst_QMediaPlayerBackend::seekPauseSeek().
The test has been observed to fail sometimes, try to obtain values.

Change-Id: Id0374b7ad3d593c099500e771bc4d8cc50f26651
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-02-17 18:13:00 +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
Friedemann Kleint
deaeb676eb Fix MSVC-warning about truncation of constant in tst_qaudiobuffer.cpp.
Change-Id: If9e239be38f8d15542ab9bf3a74bccf0a43b4e69
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-01-29 10:18:42 +01:00
Friedemann Kleint
04b7e05375 Fix MSVC-warnings about unsafe bool operations in tst_qcamera.cpp.
qglobal.h(501) : warning C4804: '-' : unsafe use of type 'bool' in operation
global/qglobal.h(501) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
tst_qcamera.cpp(507) : see reference to function template instantiation 'T qAbs<bool>(const T &)' being compiled

Change-Id: Ifd467b5536a0d386f592ae339129b3ebfb7b8838
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-01-29 10:18:42 +01:00
Friedemann Kleint
8bfd49d40f Fix MSVC-warnings about unused variable meta in tst_qdeclarativevideooutput.cpp.
Change-Id: If324fd2e65acb7650b1d8dee4964a2c2bb17f876
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-01-29 08:32:38 +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
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
Frederik Gladhorn
d2545bd40f Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I7dc36a224702721b67ffa2cf7f9ce2a6b047f88e
2014-01-10 18:30:14 +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