Commit Graph

137 Commits

Author SHA1 Message Date
Yoann Lopes
d964388b38 QSoundEffect: fix changing the loop count while playing.
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>
2014-02-25 15:00:44 +01:00
Frederik Gladhorn
c6ec402d25 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ie93615076177662e75d46f3d13beeb88d424b4a6
2014-02-12 14:11:35 +01:00
Robin Burchell
1e23440457 QSoundEffect: Don't try guess a media role if one has not been provided.
Trying to heuristically guess this kind of thing is almost always a bad idea.
Expect the creator of the output to explicitly tell us the category instead
of guessing.

Change-Id: I5f2988e2456685f3622e0ab136951b1742215f71
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-02-07 13:23:16 +01:00
Christian Strømme
2d54da2d39 Move win32 and Alsa audio backends into plugins.
Change-Id: I9835cf5ee97900569f26421a19543b485e933051
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-01-30 18:15:36 +01:00
Yoann Lopes
0ab81ef59f Alsa: fix crash when detecting devices.
Some old versions of Alsa crash when snd_device_name_hint(-1, ...) is
called. This patch works around the problem by iterating manually over all
the available sound cards.

Change-Id: Ic380a371acc15013d137553ff30d68bed5af664e
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-01-30 18:12:44 +01:00
Oswald Buddenhagen
5980bc41cf whitespace fixes
remove trailing spaces & expand tabs.

Change-Id: I05ef110abed90f13b47752760ffb4567a11a6a5e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
2014-01-30 14:32:10 +01:00
Jeff Tranter
a0d39a2ab6 Fix some typos in documentation.
Fix some spelling and grammatical errors in comments that show up in Qt documentation. No changes to code.

Change-Id: Ieb7be17bd1d50751f00620f7ac28d09355856ac0
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2014-01-07 13:22:07 +01:00
Yoann Lopes
34f253e19d PulseAudio: fix crash when failing to create a context.
Don't try to call a function on a null PulseAudio context.
If pa_context_new() fails, we now try again to connect to the pulse
audio daemon later.

Task-number: QTBUG-35456
Change-Id: I0b848d3f25f57651ab31b9eca7ceb1bc9df2f682
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-01-06 15:45:48 +01:00
Mitch Curtis
02245571bf Correct QSoundEffect::supportedMimeTypes() documentation.
Change-Id: I154b124949ee4f07ea413d8cdb419fcc08cb8324
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-01-02 11:35:59 +01:00
Christian Strømme
0fd995ac8b 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>
2013-11-28 14:12:22 +01:00
Oswald Buddenhagen
ac01ab6543 use private linkage where possible
Task-number: QTBUG-34463
Change-Id: Iffbeed2f1a27fd38b5960afa9715815ac11b722a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-10-31 23:18:18 +01:00
Christian Strømme
852f684973 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>
2013-10-30 15:02:28 +01:00
Jerome Pasion
43be5d9763 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>
2013-10-02 12:56:28 +02:00
Jerome Pasion
40908fdb77 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>
2013-10-02 12:56:21 +02:00
Andy Nichols
b357c55f2d 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>
2013-09-19 14:36:28 +02:00
Sergio Ahumada
25be645862 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2cba36426d8af40f94712f7f05f4e0dd4efce6e7
2013-09-06 14:32:51 +02:00
Bill Somerville
4715ec52b1 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>
2013-09-02 12:08:30 +02:00
Frederik Gladhorn
cb1871d061 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I469f258c4838f87edaedc8620d925a3c537d1619
2013-08-27 22:44:53 +02:00
Andy Nichols
11432c0e77 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>
2013-08-13 18:40:59 +02:00
Frederik Gladhorn
74e4b59ec8 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/plugins.pro

Change-Id: Ieec8b5984b0fba97872bf96c38410369dc0e20cf
2013-08-12 12:47:02 +02:00
Yoann Lopes
f01af490a0 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>
2013-08-05 18:08:53 +02:00
Sergio Ahumada
06eab796ba Merge branch 'stable' into dev
Conflicts:
	.qmake.conf

Change-Id: Id3427cb1a80956ba61373313c21b4b9aa007ea54
2013-08-05 10:38:25 +02:00
Yoann Lopes
cd11c240a6 Make PulseAudio implementation of QSoundEffect more robust.
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>
2013-07-25 23:09:22 +02:00
Frederik Gladhorn
0a3f1aacd3 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I48a140d1bbe82ab65e54683d77aea8c97c06ec80
2013-06-27 13:00:02 +02:00
Yoann Lopes
f424e8249b Use correct default audio output and input devices on Windows.
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>
2013-06-25 14:05:15 +02:00
Bernd Weimer
1410fda0ff Purged ALSA implementation
Avoided potential memory leak and null pointer access, removed unused
variables, reduced redundant code, etc.

Change-Id: Ia0ddf56a7a1a0f142f2edb070c2c0b32cbf76ce7
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-06-11 13:39:46 +02:00
Stephen Kelly
97c2eefbdc Delay deletion of the QNetworkAccessManager.
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>
2013-04-11 15:09:31 +02:00
Christian Strømme
d64a68f5c8 Fix calculation bug in QWaveDecoder.
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>
2013-03-22 17:50:22 +01:00
Frederik Gladhorn
954bb7b960 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ifee8e5713e95d516081c4bc911e8f0bb6a169b13
2013-03-14 09:25:28 +01:00
Andy Nichols
04860b7a37 iOS: Fix build issues
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>
2013-03-11 13:09:17 +01:00
Sze Howe Koh
339fda0ca9 Doc: Clarify and polish docs for QAudio[Input|Output]::start()
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>
2013-02-27 10:34:44 +01:00
Frederik Gladhorn
d396262bc9 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/multimedia/doc/qtmultimedia.qdocconf
	src/plugins/blackberry/mediaplayer/bbmetadata.cpp
	src/plugins/blackberry/mediaplayer/bbmetadata.h
	tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp

Change-Id: I447c297ea15a94d1d2feb0fb5f9edac8c5d4505a
2013-02-19 17:15:56 +01:00
Friedemann Kleint
f326202c48 Reduce MinGW64-warnings about mixerID.
warning: cast to pointer from integer of ifferent size.

Change-Id: I4294fe7b67c56d1eca59f81c3af26919ad5089a8
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-02-14 13:24:44 +01:00
Friedemann Kleint
699a5d75aa Fix signature of the waveInProc/waveOutProc callbacks.
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>
2013-02-14 13:24:39 +01:00
Sergio Ahumada
c96d152e33 Merge branch 'release' into stable
Change-Id: If07e76a0f2f46d6dc50a41441324f02393e17d01
2013-01-29 15:21:05 +01:00
Sze Howe Koh
28ee5b12ff Doc: Fix module name format
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation

QtMultimedia -> Qt Multimedia

(Also, QtMultimediaKit has been merged into Qt Multimedia in Qt 5)

Change-Id: I3c23435d5eceb946ea320756b835da937726db24
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-29 01:28:50 +01:00
Sergio Ahumada
157f4f982b Remove QT_{BEGIN,END}_HEADER macro usage
The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb
and is no longer necessary or used.

Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html
Change-Id: Id95d10f5d9c146d9eb496119af6a8b8501ffcb17
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-28 23:21:21 +01:00
Thiago Macieira
a45d35c07f Add virtual destructors to two classes with other virtuals
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>
2013-01-25 22:48:56 +01:00
Venugopal Shivashankar
8e6ffcc6af Doc: Fixed random QDoc warnings
- 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)
2013-01-17 16:03:48 +01:00
Venugopal Shivashankar
51334d2995 Doc: Fixed random QDoc warnings
- 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>
2013-01-15 10:48:20 +01:00
Sergio Ahumada
399500f87e Update copyright year in Digia's license headers
Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-10 17:56:01 +01:00
Thiago Macieira
3df5999a07 Remove comma at the end of the enum
Required for public header cleanliness

Change-Id: I2641fd085071b2a69806e8622c7c35be74f744b1
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-12-28 23:29:17 +01:00
Christian Stenger
b5316d2904 Doc: Replace outdated macro
Change-Id: I9bc0f8a077e60ede0ac1b6852b66d33143eed5a3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-07 14:16:43 +01:00
Friedemann Kleint
cc24af773b Fix syncqt-warnings.
Use include with module name for the multimedia-classes.

Change-Id: I8da1a4015a162959b604cd859aee139e246e3f6c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2012-11-19 19:37:40 +01:00
Robin Burchell
a73dfa7c63 Fix a possible crash in QSoundEffect.
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>
2012-11-09 11:46:04 +01:00
Sze Howe Koh
47fe5f9b39 Enable the "#include <QMultimedia>" camel-case header
Rename qtmedianamespace.h/cpp -> qmultimedia.h/cpp, and have
sync.profile generate the camel-case header during compilation.

Part of the Header Consistency Project
(http://lists.qt-project.org/pipermail/development/2012-October/007570.html)

Change-Id: Iade9ee6538970b4b9935f169eb2d9a0ea6949a95
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-06 18:20:09 +01:00
Sze Howe Koh
832c3929f2 Rename namespace QtMultimedia -> QMultimedia
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>
2012-11-06 18:20:06 +01:00
Sergio Ahumada
441ce7e6d6 Remove stale QT_MODULE() usage cases
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>
2012-10-25 20:15:38 +02:00
Friedemann Kleint
bce5525cbb QtMultimedia: Fix compiler warnings.
Change-Id: I5783b1f6dce645fb473e7d3da0911dbb40e3951b
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-10-17 13:40:18 +02:00
Friedemann Kleint
40fe658dce Fix compilation with stock MinGW.
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>
2012-10-17 13:40:13 +02:00