platform/upstream/qtmultimedia.git
10 years agoAndroid: Add missing 'L' prefix and ';' postfix in areaToRect()
Christian Strømme [Mon, 2 Dec 2013 16:05:44 +0000 (17:05 +0100)]
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>
10 years agoOpenSL: Fix volume scale
Christian Strømme [Tue, 12 Nov 2013 03:01:28 +0000 (04:01 +0100)]
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>
10 years agoCoreAudio: fix supported input and output channel count.
Yoann Lopes [Tue, 26 Nov 2013 15:34:29 +0000 (16:34 +0100)]
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>
10 years agoBlackBerry: Fix metadata key for "artist"
Rafael Roquetto [Tue, 26 Nov 2013 21:40:36 +0000 (19:40 -0200)]
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>
10 years agoDon't use integers to describe volume internally in QSoundEffect.
Christian Strømme [Mon, 25 Nov 2013 13:17:51 +0000 (14:17 +0100)]
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>
10 years agoMerge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging...
Frederik Gladhorn [Tue, 26 Nov 2013 22:26:26 +0000 (23:26 +0100)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable

10 years agoFix WMF Video not playing if no soundcard is available
Marius Wachtler [Mon, 25 Nov 2013 14:22:56 +0000 (15:22 +0100)]
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>
10 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Tue, 26 Nov 2013 09:53:44 +0000 (10:53 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: Ia5060cb07311256caa0a8c7f03af292ce3a26213

10 years agoBump MODULE_VERSION to 5.2.1
Sergio Ahumada [Mon, 25 Nov 2013 11:48:11 +0000 (12:48 +0100)]
Bump MODULE_VERSION to 5.2.1

Change-Id: Ib02770f3a7a799b77bfa4356ed903a6fbb473497
Reviewed-by: Matti Paaso <matti.paaso@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
10 years agoAdd mmrenderer configure check
Andreas Holzammer [Thu, 21 Nov 2013 13:20:15 +0000 (14:20 +0100)]
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>
10 years agoDoc: Document asynchronous nature of QMediaPlayer::setMedia()
Sze Howe Koh [Fri, 8 Nov 2013 16:15:21 +0000 (00:15 +0800)]
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>
10 years agoiOS: Remove duplicate class name from qmldir
Andy Nichols [Tue, 19 Nov 2013 12:25:54 +0000 (13:25 +0100)]
iOS: Remove duplicate class name from qmldir

It was added twice, which breaks the build when using Multimedia on iOS

Change-Id: I0b5f08bc57d5d558fb060b00d5bdeb4149499a0d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
10 years agoFix BB10 build
Frank Osterfeld [Sat, 9 Nov 2013 17:20:28 +0000 (18:20 +0100)]
Fix BB10 build

Change-Id: I0aa72c5ff8e86a8a4da6e9223f7168207174185d
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
10 years agoQNX: Restructure plugins
Frank Osterfeld [Tue, 5 Nov 2013 13:28:08 +0000 (14:28 +0100)]
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>
10 years agoSupport plain QNX in mm-renderer mediaplayer impl
Frank Osterfeld [Mon, 4 Nov 2013 14:52:43 +0000 (15:52 +0100)]
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>
10 years agoAndroid: Add permissions/features for Qt Multimedia module
Eskil Abrahamsen Blomfeldt [Thu, 7 Nov 2013 12:43:05 +0000 (13:43 +0100)]
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>
10 years agoAdd classname entry to qmldir file.
Morten Johan Sørvig [Thu, 7 Nov 2013 13:41:04 +0000 (14:41 +0100)]
Add classname entry to qmldir file.

Change-Id: Id2351ddd151ca917ba5d6f032a2bd7c2d62acd79
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
10 years agoAndroid: use correct format when capturing a picture to a buffer.
Yoann Lopes [Wed, 6 Nov 2013 13:27:00 +0000 (14:27 +0100)]
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>
10 years agoAndroid: fix two race conditions in the media player.
Yoann Lopes [Mon, 4 Nov 2013 18:14:22 +0000 (19:14 +0100)]
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>
10 years agoDoc: Updated url variable in qdocconf files.
Jerome Pasion [Tue, 5 Nov 2013 12:27:13 +0000 (13:27 +0100)]
Doc: Updated url variable in qdocconf files.

In 5.2, the HTML output is in a flatter structure and when they are
hosted in qt-project.org/doc, the documentation will be found at
http://qt-project.org/doc/qt-$QT_VER

The url variable is used by projects outside of Qt 5 which need
to link to Qt 5 documentation, such as Qt Creator.

Task-number: QTBUG-34584
Change-Id: I3971987490ef7c2f8060383ffc2e141558f827c9
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
10 years agoAdd classnames for QML plugins.
Andy Nichols [Fri, 1 Nov 2013 12:38:33 +0000 (13:38 +0100)]
Add classnames for QML plugins.

Needed for static builds on iOS

Change-Id: I2e16353a50661ac5b65a80fd37363b6e29c8b4a7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoBB10: do not mix up pixel width and height
Frank Osterfeld [Mon, 4 Nov 2013 09:03:55 +0000 (10:03 +0100)]
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>
10 years agouse private linkage where possible
Oswald Buddenhagen [Thu, 31 Oct 2013 12:39:22 +0000 (13:39 +0100)]
use private linkage where possible

Task-number: QTBUG-34463
Change-Id: Iffbeed2f1a27fd38b5960afa9715815ac11b722a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoDirectShow: fix compilation with MSVC 2008.
Yoann Lopes [Thu, 31 Oct 2013 10:57:16 +0000 (11:57 +0100)]
DirectShow: fix compilation with MSVC 2008.

Task-number: QTBUG-34479
Change-Id: I48ab0760273e08678be5f057e2b39db8cbe10cff
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoQSoundEffect: Set playing to true before starting the audio-device.
Christian Strømme [Mon, 28 Oct 2013 15:36:49 +0000 (16:36 +0100)]
QSoundEffect: Set playing to true before starting the audio-device.

When the audio-device starts playing it should be able to read from the
source immediately. The OpenSL plugin would fail because the source was
blocking the audio-device from reading, as the state still was in its
initial state (stopped).

Change-Id: Ia26fa2eb442e239f5209947e6c9cd464b7d976a4
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: fix camera preview showing black frames after restarting it.
Yoann Lopes [Fri, 25 Oct 2013 13:07:02 +0000 (15:07 +0200)]
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>
10 years agoWMF: emit positionChanged() signal when reaching the end of a media.
Yoann Lopes [Mon, 28 Oct 2013 15:50:59 +0000 (16:50 +0100)]
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>
10 years agoBlackberry: Improve camera focus handling
Tobias Koenig [Thu, 24 Oct 2013 10:49:05 +0000 (12:49 +0200)]
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>
10 years agoOpenSL ES: enable the plugin only on Android.
Yoann Lopes [Fri, 25 Oct 2013 10:49:40 +0000 (12:49 +0200)]
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>
10 years agoBlackBerry: fix BbVideoWindowControl window zorder
Rafael Roquetto [Fri, 18 Oct 2013 22:08:24 +0000 (19:08 -0300)]
BlackBerry: fix BbVideoWindowControl window zorder

Change-Id: I6c3b70d5d5a0afcb00ce2494ee071d6f3abd7626
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
10 years agoBlackberry: Fix camera viewfinder
Tobias Koenig [Wed, 23 Oct 2013 16:04:58 +0000 (18:04 +0200)]
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>
10 years agoBlackberry: Fix video recording
Tobias Koenig [Wed, 23 Oct 2013 15:43:50 +0000 (17:43 +0200)]
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>
10 years agoCorrectly clear the current media in Audio and MediaPlayer qml elements.
Yoann Lopes [Thu, 17 Oct 2013 10:22:42 +0000 (12:22 +0200)]
Correctly clear the current media in Audio and MediaPlayer qml elements.

When setting the source to an empty string in these elements, pass an
empty QMediaContent to the backend rather than an empty URL. The former
is the correct way to clear the current media.

Task-number: QTBUG-34125
Change-Id: I3dd7b07abc0bd23a1253c8c0e075b174c17a4d3f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: fix output samples from our video probe MFTransform.
Yoann Lopes [Mon, 14 Oct 2013 17:27:22 +0000 (19:27 +0200)]
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>
10 years agoAdd Linguist comment for translation of Drive-mode.
Friedemann Kleint [Tue, 15 Oct 2013 07:26:33 +0000 (09:26 +0200)]
Add Linguist comment for translation of Drive-mode.

Translators not familiar with cameras might mistake it for
something related to driving a car.

Change-Id: If54a563a32af537d291b79253056b7b57e108f5b
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoWMF: allow to set a qrc file name as source of a QAudioDecoder.
Yoann Lopes [Fri, 11 Oct 2013 16:33:45 +0000 (18:33 +0200)]
WMF: allow to set a qrc file name as source of a QAudioDecoder.

Task-number: QTBUG-33518
Change-Id: I01d8a1fa7b9a1c3ea2af9de6033dff2773cd6ace
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: allow to load media whose content doesn't match its file extension.
Yoann Lopes [Fri, 11 Oct 2013 14:57:44 +0000 (16:57 +0200)]
WMF: allow to load media whose content doesn't match its file extension.

This also allows to play streams without providing a MIME type.

Task-number: QTBUG-33631
Task-number: QTBUG-33518
Change-Id: Ia106592cb5ed0a0f7ede6308dc8e2c12cf4e63b1
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: fixed compilation on Windows Vista.
Yoann Lopes [Fri, 11 Oct 2013 12:11:53 +0000 (14:11 +0200)]
WMF: fixed compilation on Windows Vista.

We were using one function which is available only on Windows 7 (and
later). Replace it with Vista-compatible calls.

Task-number: QTBUG-32864
Change-Id: I77492a407330c3689dfbf8dc1180894cf7ca5f8d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoDirectShow: improve metadata support.
Yoann Lopes [Tue, 8 Oct 2013 14:15:04 +0000 (16:15 +0200)]
DirectShow: improve metadata support.

Correctly return the list of available metadata.
On Windows Vista and later, we now use shell properties to retrieve the
metadata. This allows us to get much more metadata properties.

Task-number: QTBUG-30776
Change-Id: If542756d08d832903984ef10d09c4caf410bdb1c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoQNX: enable AudioCapture plugin.
Yoann Lopes [Thu, 10 Oct 2013 14:56:46 +0000 (16:56 +0200)]
QNX: enable AudioCapture plugin.

This allows to use the QAudioRecorder API on QNX (and Blackberry), using
the low-latency audio plugin as backend.

Change-Id: I9bed7c01948a40f931f2a6b29c0f5cbfc99635bd
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
10 years agoEnable camera on the Playbook
Fabian Bumberger [Thu, 3 Oct 2013 23:16:52 +0000 (01:16 +0200)]
Enable camera on the Playbook

Change-Id: I61537899bee63150861df57f9140316eca6a6eed
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
10 years agoFix binding loop in declarative-camera example
Topi Reinio [Wed, 9 Oct 2013 12:32:02 +0000 (14:32 +0200)]
Fix binding loop in declarative-camera example

Task-number: QTBUG-33879
Change-Id: I6d584fcaa049fb5be650797348452b4086dd6df0
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoRefactored AudioCapture plugin.
Yoann Lopes [Fri, 4 Oct 2013 11:43:03 +0000 (13:43 +0200)]
Refactored AudioCapture plugin.

Change-Id: I025588d7d2afc8d8137a258d86f6dab5b00b234a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: fix media recording location.
Yoann Lopes [Fri, 4 Oct 2013 13:08:42 +0000 (15:08 +0200)]
Android: fix media recording location.

When letting the plugin decide where to save the recorded media, doing
several recordings would always use the same output file instead of
creating a different one every time.

Change-Id: If352257d6c91ada8565c1463820321f84c9bb92f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoImprove audiorecorder example.
Yoann Lopes [Fri, 4 Oct 2013 15:02:18 +0000 (17:02 +0200)]
Improve audiorecorder example.

- Possibility to select channel count
- Show audio level for unsigned integer samples
- Show audio level for each channel
- Correctly set output file location
- Update controls depending on the recorder status (rather than the state)

Change-Id: Ieb08c379bb01a11ce1aa52a9d92ea1f320c87d49
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoRemove unnecessary warning in QMediaPlaylistNavigator.
Yoann Lopes [Tue, 8 Oct 2013 15:26:16 +0000 (17:26 +0200)]
Remove unnecessary warning in QMediaPlaylistNavigator.

Task-number: QTBUG-33862
Change-Id: Ie74e649ebb5819ccf6300492bdce2a0046b87f02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
10 years agoDoc: Fixed missing links to Qt Audio Engine
Jerome Pasion [Tue, 8 Oct 2013 09:04:38 +0000 (11:04 +0200)]
Doc: Fixed missing links to Qt Audio Engine

The title changed from Positional Audio to Qt Audio Engine.

Change-Id: Ie9901c7bc6c394c1c429a16a8a1b1c18b1a87f46
Reviewed-by: Martin Smith <martin.smith@digia.com>
10 years agoDoc: Various fixes to Qt Audio Engine documentation
Jerome Pasion [Wed, 2 Oct 2013 14:27:06 +0000 (16:27 +0200)]
Doc: Various fixes to Qt Audio Engine documentation

-fixed \since to "\since 5.0" (Qt version 5.0)
-made a \qmlmodule page so the list of related classes are automatically
 listed
-made changes in the Qt Multimedia documentation to link to the
 Qt Audio Engine documentation

Change-Id: Ibdd3da02871648988a73172934e684840c4ce0ae
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoDoc: Removing version number from the QDoc comments.
Jerome Pasion [Tue, 1 Oct 2013 13:45:57 +0000 (15:45 +0200)]
Doc: Removing version number from the QDoc comments.

The version is not needed anymore and QDoc handles them as a different
module, causing errors.

Task-number: QTBUG-32172
Change-Id: I55054a6c7bce9e001ef03cce944b03375c851d15
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
10 years agoDoc: Updated usage of \qmlmodule and \inqmlmodule.
Jerome Pasion [Tue, 1 Oct 2013 13:38:29 +0000 (15:38 +0200)]
Doc: Updated usage of \qmlmodule and \inqmlmodule.

-\qmlmodule denotes the import statement "QtMultimedia 5.0"
-\inqmlmodule shouldn't have the version number and this commits removes
it because it is confusing.

Task-number: QTBUG-32172
Change-Id: I76f58ddd5ea2d5ae51eaae83a8408fd67611838a
Reviewed-by: Martin Smith <martin.smith@digia.com>
10 years agoAndroid: fixed image capture preview.
Yoann Lopes [Fri, 27 Sep 2013 16:20:15 +0000 (18:20 +0200)]
Android: fixed image capture preview.

We used to generate the capture preview from the video output, grabbing
the pixels of the last frame (in a FBO). This is not possible anymore,
we instead query the camera for a preview frame, which is in the NV21
format and needs to be converted to RGB.

Change-Id: I1c728b3a708a6f052a83aebf9f15f511eab7a02f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: refactor video renderer.
Yoann Lopes [Fri, 27 Sep 2013 09:24:10 +0000 (11:24 +0200)]
Android: refactor video renderer.

Removed the overhead of having to create a shared OpenGL context in the GUI
thread and pre-render the frame into a FBO.

We now directly render the GL_TEXTURE_EXTERNAL_OES in the QtQuick render
thread, using an Android-specific QSGVideoNode.
We also use a callback from the render thread to create the texture from
there and not have to create a separate shared OpenGL context.

Change-Id: I6c8eb94b47d0a03329c912701b8af3fb5ebd1876
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix lupdate warning in playlistparser.
Friedemann Kleint [Fri, 27 Sep 2013 14:39:28 +0000 (16:39 +0200)]
Fix lupdate warning in playlistparser.

playlistfileparser.cpp:278: Class 'PLSParser' lacks Q_OBJECT macro.

Change-Id: I062bd90b7cd5de82683dc02c6a6400855982a163
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoVideoOutput: take the video format's scanLineDirection into account.
Yoann Lopes [Fri, 27 Sep 2013 10:09:32 +0000 (12:09 +0200)]
VideoOutput: take the video format's scanLineDirection into account.

Task-number: QTBUG-30442
Change-Id: Ic950d66cb35a937ccf3862089e0060819b6d6f34
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAndroid: Make sure the OpenSL plugin is included on Android.
Christian Strømme [Thu, 26 Sep 2013 12:26:25 +0000 (14:26 +0200)]
Android: Make sure the OpenSL plugin is included on Android.

Change-Id: Ic46dd8afe50250bb30754ce12eda57138d05b81d
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: fix plugin json metadata.
Yoann Lopes [Thu, 26 Sep 2013 09:51:49 +0000 (11:51 +0200)]
Android: fix plugin json metadata.

Change-Id: I0f2feca44843760df13a938d9190daf2d447d645
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix "conversion from 'double' to 'float'" warnings on MSVC2010.
Mitch Curtis [Fri, 20 Sep 2013 14:21:26 +0000 (16:21 +0200)]
Fix "conversion from 'double' to 'float'" warnings on MSVC2010.

Change-Id: I209d76fa2d87ad2eb540c750b8c4efb865441aae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
10 years agoSome cleanup in the GStreamer plugin.
Yoann Lopes [Fri, 20 Sep 2013 12:02:24 +0000 (14:02 +0200)]
Some cleanup in the GStreamer plugin.

Removed QGstreamerVideoOverlay and related classes. It was used as
'Window' control but performs worse than QGstreamerVideoWindow which
does basically the same thing using GStreamer ready-made components
instead.
Removed X11 dependencies and related configuration tests. It was only
needed for QGstreamerVideoOverlay.

Change-Id: I2ad2636ccf0060e56cd64f3d9e5b3c24dc75f5a3
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAndroid: Adapt the multimedia plugin to new QJNI API
Christian Strømme [Thu, 12 Sep 2013 11:14:56 +0000 (13:14 +0200)]
Android: Adapt the multimedia plugin to new QJNI API

Change-Id: Id87f5518724eed6c9de6d5d3b8141860bd511643
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: fix compilation on x86.
Yoann Lopes [Thu, 19 Sep 2013 11:59:36 +0000 (13:59 +0200)]
Android: fix compilation on x86.

Task-number: QTBUG-33554
Change-Id: I4da7410d3b77ec6d72a73d3b6ceb7b76bb48d2b7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
10 years agoCoreAudio: Create an audio plugin supporting iOS and OS X
Andy Nichols [Fri, 8 Mar 2013 14:18:36 +0000 (15:18 +0100)]
CoreAudio: Create an audio plugin supporting iOS and OS X

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>
10 years agoOpenSL: Fix build warning about unused result variable.
Christian Strømme [Thu, 12 Sep 2013 13:14:44 +0000 (15:14 +0200)]
OpenSL: Fix build warning about unused result variable.

Change-Id: I11a4a3792feb90c46d4f3a77aafa82c18a9d9a45
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix QVideoSurfaceArbFpPainter mistakenly failing to start in some cases.
Yoann Lopes [Tue, 17 Sep 2013 15:00:28 +0000 (17:00 +0200)]
Fix QVideoSurfaceArbFpPainter mistakenly failing to start in some cases.

If an OpenGL error occurred before starting the video painter, it would
fail to do so. This patch simply makes sure the OpenGL error flag is
cleared before checking for GL errors that would occur in
QVideoSurfaceArbFpPainter's code.

Change-Id: I2eacf6db03cb290adf00a9faf11145c7a6ade565
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoRemove Q_PACKED from structs that don't need to be packed
Thiago Macieira [Sat, 14 Sep 2013 17:31:01 +0000 (10:31 -0700)]
Remove Q_PACKED from structs that don't need to be packed

Those classes don't contain padding, they don't need to be packed. The
only reason to be packed was to deal with bad alignment of the WAV
file.

Since Q_PACKED wasn't present in all compilers, this might have been a
latent bug. If that was the case, then force it to happen with more
compilers.

Change-Id: I8449b6bab5d62c1b7e08b9bc205b4b149ed55e28
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoStabilized QPainterVideoSurface auto-test.
Yoann Lopes [Tue, 17 Sep 2013 14:53:38 +0000 (16:53 +0200)]
Stabilized QPainterVideoSurface auto-test.

Change-Id: Idfd6f8396dce223be1c73ad56c6f7f66ca9d5d25
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoOpenSL: Fix typos
Christian Strømme [Thu, 12 Sep 2013 13:27:44 +0000 (15:27 +0200)]
OpenSL: Fix typos

Change-Id: I1a293bbf8ad3d9016ff6a7ec816c33d3303e5959
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: added camera support.
Yoann Lopes [Mon, 25 Mar 2013 17:11:27 +0000 (18:11 +0100)]
Android: added camera support.

This patch includes all camera features: viewport, settings, image
capture, and video recording.
It also adds support for QAudioRecorder.

Change-Id: Ib962177cc8de4bac03f42a2bc0f534e03464bbfc
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix the X11 build error
Pier Luigi Fiorini [Sat, 7 Sep 2013 17:56:02 +0000 (19:56 +0200)]
Fix the X11 build error

This makes qtmultimedia build again by moving down X11 includes.
See http://lists.qt-project.org/pipermail/development/2013-September/012986.html

Change-Id: If6cd5e80c27de7aaa8d2a65ded05500ed9d0e692
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoMerge remote-tracking branch 'origin/stable' into dev
Sergio Ahumada [Fri, 6 Sep 2013 12:32:51 +0000 (14:32 +0200)]
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I2cba36426d8af40f94712f7f05f4e0dd4efce6e7

10 years agoPulseaudioInput: Remove unused members
Tobias Hunger [Thu, 29 Aug 2013 12:05:45 +0000 (14:05 +0200)]
PulseaudioInput: Remove unused members

Clang warns about them.

Change-Id: I8fb2e9bc30f35ec9540b09a34bf23bf9eb671b9c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
10 years agoQGstXvImageBuffer: fix warning about class/struct mismatch
Tobias Hunger [Thu, 29 Aug 2013 11:55:43 +0000 (13:55 +0200)]
QGstXvImageBuffer: fix warning about class/struct mismatch

Change-Id: I98df1ce92fab69ad1200066d310aa8bd016b5aca
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
10 years agoQGstTools: Fix warning about unused m_intervalTimer
Tobias Hunger [Thu, 29 Aug 2013 11:58:08 +0000 (13:58 +0200)]
QGstTools: Fix warning about unused m_intervalTimer

Clang does complain about this member not being used.

Change-Id: I02919715be43486f4646ca75deea66fc8a6a2276
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
10 years agoFix QAudioOutput::setVolume() limited 50% on 32-bit Windows
Bill Somerville [Sat, 24 Aug 2013 19:51:24 +0000 (20:51 +0100)]
Fix QAudioOutput::setVolume() limited 50% on 32-bit Windows

A signed 16 bit integer was being used to pack a normalised double into
half of a DWORD. It needed to be unsigned 16-bit to get the full range
of the Windows volume control.

Task-number: QTBUG-33160

Change-Id: Ic17f572a188401ee686c6e6af3984d52328ccda6
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoBlackBerry: Pass encoded URLs to mm renderer
Bernd Weimer [Tue, 27 Aug 2013 08:39:31 +0000 (10:39 +0200)]
BlackBerry: Pass encoded URLs to mm renderer

MM renderer expects (remote) URLs to be percent encoded.

Change-Id: Ib7429cbeb3b7aa6baba99419d8b101a712ab4881
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
10 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Tue, 27 Aug 2013 20:44:53 +0000 (22:44 +0200)]
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I469f258c4838f87edaedc8620d925a3c537d1619

10 years agoAVFoundation: Basic camera support for iOS
Andy Nichols [Mon, 26 Aug 2013 13:54:52 +0000 (15:54 +0200)]
AVFoundation: Basic camera support for iOS

Enables basic software rendering support for iOS.

Change-Id: Icd29076ea627295819ede6d9680de576ba39b34e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
10 years agoAVFoundation: Enable QVideoWidget on iOS
Andy Nichols [Thu, 15 Aug 2013 14:31:34 +0000 (16:31 +0200)]
AVFoundation: Enable QVideoWidget on iOS

Change-Id: I88041e7a2ea052fe449542eeaada31c09d93d163
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
10 years agoAVFoundation: Use CoreAnimation to render video to QVideoWidget
Andy Nichols [Thu, 15 Aug 2013 13:08:35 +0000 (15:08 +0200)]
AVFoundation: Use CoreAnimation to render video to QVideoWidget

Previously a QGLWidget was used as a target for the
AVFVideoFrameRenderer.  This was uncessary as it is possible to render
directly on top of the QWidget using the CoreAnimation Framework.

Change-Id: I08923c85fd56c8874c1d8c187ae5145e220fab92
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
10 years agoAVFoundation: Enable use of QMediaPlayer for audio on iOS
Andy Nichols [Wed, 14 Aug 2013 14:42:44 +0000 (16:42 +0200)]
AVFoundation: Enable use of QMediaPlayer for audio on iOS

This commit disables the video components of the AVFoundation
mediaplayer backend when building for iOS and enables the use of
QMediaPlayer with audio assets.

Change-Id: Iadd6f9c61ed1e656301326e90a22cbca6428b654
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
10 years agoAVFoundation: Remove QVideoSurfaceCoreGraphicsPainter
Andy Nichols [Thu, 4 Apr 2013 13:34:00 +0000 (15:34 +0200)]
AVFoundation: Remove QVideoSurfaceCoreGraphicsPainter

This was a leftover from Qt 4, as it is no longer possible to use the
CoreGraphics paint engine.  Instead we should just use the logic in
QPainterVideoSurface render the QVideoFrame.

Change-Id: I7e97fe7c30fd478dcd405d300e0c3f70050ca25f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF and GStreamer: fixed incorrect frame startTime and endTime.
Yoann Lopes [Fri, 16 Aug 2013 15:51:53 +0000 (17:51 +0200)]
WMF and GStreamer: fixed incorrect frame startTime and endTime.

The QVideoFrame documentation explicitly says that the time is in
microseconds, however the GStreamer backend was setting the time in
milliseconds and the WMF backend in 100-nanosecond units.
With WMF, the time was missing from the QVideoFrame when presenting it to
the video surface.

Task-number: QTBUG-31731
Change-Id: I0638d2abf8eed25b3a531db67c19a18703e5b630
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAndroid: Use isValid() to check if the jobject is valid.
Christian Strømme [Fri, 16 Aug 2013 15:50:10 +0000 (17:50 +0200)]
Android: Use isValid() to check if the jobject is valid.

Change-Id: I5ec67b9b2abfae2e2c2a44f0bcc7c72cb54beb49
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: fixed media player buffering logic.
Yoann Lopes [Mon, 29 Jul 2013 14:28:15 +0000 (16:28 +0200)]
Android: fixed media player buffering logic.

When the media is ready, the status should always transition to
LoadedMedia and then immediately to BufferingMedia or BufferedMedia.
Also, when the duration is queried before the media is ready but already
buffering, it should always return 0 to avoid errors from the Android
media player.

Task-number: QTBUG-32635
Change-Id: Ibcb9c23b4f64c4f9a1a8e0ef81989ae78cfb19ef
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix file browser in qmlvideofx example.
Friedemann Kleint [Wed, 31 Jul 2013 09:15:25 +0000 (11:15 +0200)]
Fix file browser in qmlvideofx example.

Similar to de9092389f2e43370c2cfcd6759d08cc11da9a68 for qmlvideo.
Use QUrl::fromLocalFile() to get Windows drive handling
right. Emulate its behavior in QML code. Fix up() to terminate
correctly.

Task-number: QTBUG-32139
Change-Id: I36bafaa608ff054190dc76694f6254a74f3b513e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoRemove unnecessary dependency to qtjsbackend from sync.profile
Simon Hausmann [Tue, 13 Aug 2013 08:02:18 +0000 (10:02 +0200)]
Remove unnecessary dependency to qtjsbackend from sync.profile

Change-Id: Ie72932d3a9ba1bfa2f282e8134b50b2d6b8ec469
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoMerge remote-tracking branch 'origin/release' into stable
Sergio Ahumada [Fri, 16 Aug 2013 18:53:47 +0000 (20:53 +0200)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: Ibcde5cfcb97948f9e3f71a2d6b06397e1003aa3b

10 years agoAdd changes-5.1.1 file.
Yoann Lopes [Fri, 16 Aug 2013 16:13:56 +0000 (18:13 +0200)]
Add changes-5.1.1 file.

Task-number: QTBUG-32808
Change-Id: I998548df399ec6d2dd6b061b5ba2c1ca451276bc
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoWMF: fixed QMediaPlayer changing to EndOfMedia status too early.
Yoann Lopes [Tue, 30 Jul 2013 12:24:48 +0000 (14:24 +0200)]
WMF: fixed QMediaPlayer changing to EndOfMedia status too early.

It was changing to EndOfMedia status and explicitly stopping playback
when receiving the MEEndOfPresentation event from the WMF session.
However, this event means that all data has bean read from the source but
not necessarily played yet. According to the documentation, playback is
done when the MESessionEnded event is sent. It now reports the EndOfMedia
status at that moment instead. stop() is not explicitly called anymore since
MESessionEnded also implies the session has stopped.

Task-number: QTBUG-30825
Change-Id: I6c6c09e736fe33f7cf17c75038ea7be1b5701a1c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: use qFabs instead of fabsf.
Yoann Lopes [Wed, 31 Jul 2013 10:52:17 +0000 (12:52 +0200)]
WMF: use qFabs instead of fabsf.

Task-number: QTBUG-32360
Change-Id: Ibec3d044ac38f54abd895d56f1851011bf6b5272
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoMerge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Frederik Gladhorn [Tue, 13 Aug 2013 19:00:22 +0000 (21:00 +0200)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev

10 years agoEnable QSoundEffect with loopCount of Infinite to play
Andy Nichols [Tue, 13 Aug 2013 13:16:54 +0000 (15:16 +0200)]
Enable QSoundEffect with loopCount of Infinite to play

Previously if the loopCount property of a QSoundEffect was set to
QSoundEffect::Infinite then no sound would be played at all.  This is
because QSoundEffect::Infinite == -2 and playback was only continued on
values above 0.

Task-number: QTBUG-32882

Change-Id: I739919a3e538128fc16f26ede5eb6cc4f2eb29fb
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoDoc: Renamed HTML file for "Qt Multimedia on Windows" page.
Jerome Pasion [Thu, 8 Aug 2013 14:47:13 +0000 (16:47 +0200)]
Doc: Renamed HTML file for "Qt Multimedia on Windows" page.

Conflicts with the platform page for Windows in qt5/doc

Task-number: QTBUG-32580
Change-Id: Ibcf51c5dcd93ac388fa799644004c51aa88fe93d
Reviewed-by: Martin Smith <martin.smith@digia.com>
10 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Mon, 12 Aug 2013 10:47:02 +0000 (12:47 +0200)]
Merge remote-tracking branch 'origin/stable' into dev

Conflicts:
src/plugins/plugins.pro

Change-Id: Ieec8b5984b0fba97872bf96c38410369dc0e20cf

10 years agoImplement resource policy plugin using libresourceqt.
Robin Burchell [Fri, 2 Aug 2013 22:27:40 +0000 (00:27 +0200)]
Implement resource policy plugin using libresourceqt.

This contains a new resource policy plugin, replacing the built-in
code that was deleted when the plugin interface was removed in
138242fb2dc19438a0ead34b36af848800e27190 (which unfortunately did not provide a
plugin).

Change-Id: Iae7ed6edc330c69ca0c72d50bde6c7e12b8cca4e
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoFixed bug in QWaveDecoder.
Yoann Lopes [Wed, 24 Jul 2013 11:01:08 +0000 (13:01 +0200)]
Fixed bug in QWaveDecoder.

When looking for a specific chunk, it was entering an infinite loop if not
finding it in the next two chunks available. It now correctly tries to
find the chunk until it reaches the end of the IO device.

Change-Id: I29252318566fe3a47f267410c91dacaf302d9618
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoChange libresourceqt's .pc file.
Robin Burchell [Fri, 2 Aug 2013 22:37:43 +0000 (00:37 +0200)]
Change libresourceqt's .pc file.

The one public port of this library to Qt 5 changed the .pc to libresourceqt5,
to avoid clashing with the Qt 4 version.

Change-Id: I6a248606e20c4e7a8f432612ca00aded846264d9
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoMerge branch 'stable' into dev
Sergio Ahumada [Mon, 5 Aug 2013 08:38:25 +0000 (10:38 +0200)]
Merge branch 'stable' into dev

Conflicts:
.qmake.conf

Change-Id: Id3427cb1a80956ba61373313c21b4b9aa007ea54

10 years agoDoc: Setting \qtvariable values in module pages.
Jerome Pasion [Thu, 1 Aug 2013 14:22:38 +0000 (16:22 +0200)]
Doc: Setting \qtvariable values in module pages.

\qtvariable is the QT variable in .pro files.

Change-Id: Ib2e78579bbc67346b6c3431d03e01a4858439ac4
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoRemove left-over debug output.
Friedemann Kleint [Wed, 31 Jul 2013 09:19:11 +0000 (11:19 +0200)]
Remove left-over debug output.

Task-number: QTBUG-32139

Change-Id: I52843ca104e422fb02112949191dbcd4642905a5
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
11 years agoFix file browser in qmlvideo example.
Friedemann Kleint [Fri, 26 Jul 2013 12:18:16 +0000 (14:18 +0200)]
Fix file browser in qmlvideo example.

Use QUrl::fromLocalFile() to get Windows drive handling
right. Emulate its behavior in QML code. Fix up() to terminate
correctly.

Task-number: QTBUG-32139

Change-Id: Iec6d9f96fbe2181c939e9dbbe6aa042eac630918
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>