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>
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>
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>
It was returning the first available device as the default, which might
not be the actual default device. Use the WAVE_MAPPER device ID instead
that tells Windows to use the most appropriate device.
Change-Id: Id1e9324e889bbaaab54bc0e0da810a7ce5fcb592
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Fixes unit test which crashes on exit.
Task-number: QTBUG-30630
Change-Id: I1e13cdc21c4297e492bf74d9a546a91510894288
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.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>
This also prevents anything meaningful from working, but it is a
good starting point.
Change-Id: Idaf495ec29f611ee5342c79318bc3ace1d852747
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
QAudio[Input|Output] retains ownership of the QIODevices that are
returned.
Change-Id: Ieb2f319eef906822debc13b4399d7e7336024552
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
warning: cast to pointer from integer of ifferent size.
Change-Id: I4294fe7b67c56d1eca59f81c3af26919ad5089a8
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Parameters are DWORD_PTR instead of DWORD, which did not matter
on 32bit but caused MinGW64-compiler warnings and potential
crashes on 64bit.
Change-Id: I840ae3ea7ea532746f73f20b3233cae842931d45
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Classes with virtuals are used polymorphically (why have virtuals
otherwise?), so they need virtual destructors to be deleted
properly. Unless they are never deleted using objects of those two
classes -- but why have the interface in the first place if that's the
case?
This is binary incompatible change. It was agreed upon in the mailing
list.
Change-Id: I697e4bd53251452a0e6b0c09edd08c4835f90cbd
Discussed-on: http://lists.qt-project.org/pipermail/development/2012-December/008908.html
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
- Fixed \snippet paths
- Minor language edits
- Removed unnecessary multiple page commands in a single comment
block. For example, \fn and \qmlsignal in a single comment block
is not allowed. Such instances must be documented in separate
comment blocks.
Change-Id: I65f4518499e2600c4e1807356d4116c575e48c19
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
(cherry picked from commit 51334d2995)
- Fixed \snippet paths
- Minor language edits
- Removed unnecessary multiple page commands in a single comment
block. For example, \fn and \qmlsignal in a single comment block
is not allowed. Such instances must be documented in separate
comment blocks.
Change-Id: I65f4518499e2600c4e1807356d4116c575e48c19
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Use include with module name for the multimedia-classes.
Change-Id: I8da1a4015a162959b604cd859aee139e246e3f6c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
pa_stream_cork may fail, and pa_operation_unref won't handle that gracefully, so
check the return value before unreffing.
Done-with: Vesa-Matti Hartikainen
Change-Id: If789e37a13f85487c79dd8a03a7ca3624b1412d2
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Main code, examples, tests and docs updated. Method:
1. Mass find+replace "QtMultimedia::" -> "QMultimedia::"
2. Hand-modified declaration in qtmedianamespace.h/cpp
For consistency (with minimal disruption), namespaces with a "Qt" prefix
will be renamed.
Part of the Header Consistency Project
(http://lists.qt-project.org/pipermail/development/2012-October/007570.html)
Change-Id: I1fbc43a1aa91d996aa61869fcd8d05186bf7cf6d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
As of Qt5, this macro is defined to be empty; simply get rid of these leftovers.
Change-Id: Id24056c0afd013904b1e098dc49e502038fd77a4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use qt_windows.h, provide interfaces and UIDs missing
in stock MinGW.
Task-number: QTBUG-23829
Change-Id: I79ed902bb7636c751df7607f6059a7de237acb31
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
They can be useful to some of the audio plugins.
Change-Id: I10856c104770ed57c72b674829e3922b5067a822
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
If we're in the last loop, it is not necessary to provide a full period
on read. Just provide the remaining of the data and hit the end of the
stream by returning less than requested, otherwise we potentially
generate some garbage noise.
Change-Id: I9d3a632ddc0c3289957c9f876d5dbe2999b50ebd
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
This also meant implementing software volume support, and since
this is the last backend to do so, make that interface pure
virtual again.
In some cases the test needed tweaks.
Change-Id: Ie429863f187b43802cdd4f16d841929e0cb0e729
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
- skip tests if QSoundEffect::supportedMimeTypes() returns empty list
Change-Id: I0f8d6f854c46b74f8518c4d969bd31ea167d20b2
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
-New qdoc command \qmltype replaces \qmlclass
-\instantiates <C++ class> for determining if the QML type has a C++
implementation
Change-Id: I83d1e2c3f376f96ea51afedadf88c3cf478e33d8
Reviewed-by: Martin Smith <martin.smith@nokia.com>
- Use backend built on QAudioOutput
- Fixed unit test so backend will pass
Change-Id: I2f2a7d8bf382127c5a5c333d6e36c79169754b4e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
- Was asserting when stop() called when in IdleState
Change-Id: Ib8a5bd149c0b9c700c709520cf8ffdd237e08694
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Default buffer size wasn't always calculated correctly, and the timer
used in push mode was sometimes incorrect.
Change-Id: Ic31b9d16e16e4c25a5ebfc302590829e179a96bf
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
QTBUG-26523
- Was QAudioOutput. Changed to QAudioInput.
Change-Id: I04f7d38af5cb67c420adef188b81b237b6e06b97
Reviewed-by: Daniel Kovacic <daniel.kovacic@nokia.com>
The frame is the interleaved set of one sample for each channel. Add
some docs and some methods that make working with samples a bit more
convenient.
Adjusted QAudioBuffer to use these helper functions and terminology.
Change-Id: I96db48e659561972d6de2aa19893d29f9a828cd3
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Previously, if a device was marked as "Default Audio Device" then
only this device would be returned during device enumeration. Now
it returns all devices, with the default device placed first.
Task-number: QTBUG-22103
Change-Id: I1705415bf6b58ff046c4d2812107b46b76500001
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Delete obsolete methods from QAudioFormat and QAudioDeviceInfo
and update code that relied on the obsolete methods.
Change-Id: I007e36375a45399b1d5a289341bc5d5a05dc68cc
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>