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>
WMF: use qFabs instead of fabsf.

Task-number: QTBUG-32360
Change-Id: Ibec3d044ac38f54abd895d56f1851011bf6b5272
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
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>
Add changes-5.1.1 file.

Task-number: QTBUG-32808
Change-Id: I998548df399ec6d2dd6b061b5ba2c1ca451276bc
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Merge remote-tracking branch 'origin/release' into stable

Change-Id: Ibcde5cfcb97948f9e3f71a2d6b06397e1003aa3b
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>
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>
Android: Use isValid() to check if the jobject is valid.

Change-Id: I5ec67b9b2abfae2e2c2a44f0bcc7c72cb54beb49
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
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>
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>
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>
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>
AVFoundation: Enable QVideoWidget on iOS

Change-Id: I88041e7a2ea052fe449542eeaada31c09d93d163
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
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>
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I469f258c4838f87edaedc8620d925a3c537d1619
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>
QGstXvImageBuffer: fix warning about class/struct mismatch

Change-Id: I98df1ce92fab69ad1200066d310aa8bd016b5aca
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
PulseaudioInput: Remove unused members

Clang warns about them.

Change-Id: I8fb2e9bc30f35ec9540b09a34bf23bf9eb671b9c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Merge branch 'dev' into wip/android

Change-Id: Idd0c4a5a88b1a2b876220f4e46262337320dccae