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>
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>
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>
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>
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>
Clang does complain about this member not being used.
Change-Id: I02919715be43486f4646ca75deea66fc8a6a2276
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
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>
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>
Enables basic software rendering support for iOS.
Change-Id: Icd29076ea627295819ede6d9680de576ba39b34e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
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>
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>
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>
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>
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>
Similar to de9092389f 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>
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>
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>
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>
This contains a new resource policy plugin, replacing the built-in
code that was deleted when the plugin interface was removed in
138242fb2d (which unfortunately did not provide a
plugin).
Change-Id: Iae7ed6edc330c69ca0c72d50bde6c7e12b8cca4e
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
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>
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>
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>
(gui && qml) is not a sufficient condition for the availability of
quick (e.g., missing opengl support can disable it).
Task-number: QTBUG-32682
Change-Id: I3b7fb005528cc99239f59d34c7f70abeebcfa75c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
It was crashing when the PulseAudio daemon was not running or was
killed.
When the connection to the daemon fails (or is terminated), it now
tries to reconnect every 30 seconds.
Sounds created before a connection loss will be recreated after
reconnection.
Task-number: QTBUG-32487
Change-Id: Ia63707aa5c70434b834b3079a9950a9b35057b26
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Don't build the wmf backend when configure was executed
with the -no-wmf-backend option.
Change-Id: Ia047137c15c7aac302092e9f77b961c6e584bb86
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This example was in the multimediawidgets directory but doesn't depend on
or use the QtMultimediaWidgets module. Moved to 'examples/multimedia'
instead.
Change-Id: Ic2fcc6576e95664e0002531ee378a4366daa56c1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>