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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
The behavior of QDebug was fixed in qtbase. Update autotests
accordingly.
Change-Id: I0bbd1b52958c24710f877224158fa30f082941b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The test has been observed to fail sometimes, try to obtain values.
Change-Id: Id0374b7ad3d593c099500e771bc4d8cc50f26651
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
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>
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>
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>
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>
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>
This removes the Mac audio backend that was hardcoded into QtMultimedia
and adds a new audio plugin using the CoreAudio API.
Change-Id: Ib15291825f9452a3763e0eeb281d952deb0bad3d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
They previously had the multimedia services they provided as keys. This
was a problem when several plugins were available on the same platform,
providing the same multimedia service, but with different features or
capabilities. Since they had the same key, only the first plugin in the
directory was loaded.
Nevertheless, it was actually working until commit 732dcfe7 in qtbase,
as all plugins were loaded even when sharing the same key.
The services a multimedia plugin provides are now declared in the
'Services' property. To preserve compatibility with third-party plugins,
if that new property doesn't exist it falls back to the 'Keys' property.
Task-number: QTBUG-31868
Task-number: QTBUG-31476
Change-Id: Ic3ba32eeef21b69b922bd3d4feb111101559d132
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
No longer include <qedit.h> in directshow-plugin,
which no longer ships in newer SDKs.
Ensure it only provides the camera service if the
WMF-plugin is built by using a different .json-file.
Adapt qcamerabackend-test to use widgets.
Task-number: QTBUG-28047
Change-Id: I22ea441b9edb56ff55bc275dba37c01c77d8dd90
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
qmultimedia.h is included in more places, but qmediametadata.h is
larger. This patch should reduce unnecessary #include-ing.
Change-Id: I4a3d174bafc555d794bb75087c1f6b79745ae903
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
When comparing the size of the WaveHeader and the chunk size, we need to
include the ID and Size fields, or any extra data won't be discarded and
the parsing will fail.
Change-Id: I730833f33f57b26cd750985354136191f7e7ce04
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Change-Id: I381e1b0883fb4fdc68627848ee39a26ce22e2ba5
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>