Commit Graph

82 Commits

Author SHA1 Message Date
Jerome Pasion
011e151c4e Doc: Changed \qmlclass to \qmltype and added \instantiates
-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>
2012-07-27 14:56:32 +02:00
Kurt Korbatits
b976589a66 Replace QSoundEffect backend using qmedia with qaudiooutput implementation
- 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>
2012-07-26 23:10:46 +02:00
Lev Zelenskiy
403eee4d87 Volume control for QAudioInput windows backend.
Change-Id: I1245a38c68254fc48373a856dc44e8ad8142636e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-07-26 09:06:23 +02:00
Kurt Korbatits
64dbf9d968 Added check to alsa backend for QAudioOutput
- 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>
2012-07-26 05:31:01 +02:00
Ali Akhtarzada
29a2d09a43 Fixed docs for QAudioInput::bufferSize and setBufferSize
Change milliseconds to bytes

Task-number: QTBUG-26600

Change-Id: I861ae9c35ddc52d58ed95a2148f72d6476f35522
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-24 07:58:22 +02:00
Kurt Korbatits
1ac9318645 Added volume control for QAudioOutput & QAudioInput (alsa)
QTBUG-25454

- Added update to docs on volume control.
- Added internal volume adjustment for alsa implementation.
- Enabled float sample option in QAudioDeviceInfo (alsa).

Change-Id: I6b89fc8beb457d71be9ad71b538c86a008570f07
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Kurt Korbatits  <kurt.korbatits@nokia.com>
2012-07-17 07:03:48 +02:00
Michael Goddard
8c12864361 Fix some QAudioInput errors on OSX.
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>
2012-07-16 08:41:27 +02:00
Kurt Korbatits
5daa9c340c Fixed error in qaudioinput alsa backend for invalid format.
QTBUG-26523
- Was QAudioOutput. Changed to QAudioInput.

Change-Id: I04f7d38af5cb67c420adef188b81b237b6e06b97
Reviewed-by: Daniel Kovacic <daniel.kovacic@nokia.com>
2012-07-16 05:33:03 +02:00
Michael Goddard
4d13a15bae Clarify API/docs by introducing the audio "frame", and add helpers.
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>
2012-07-11 08:01:45 +02:00
Mithra Pattison
8879945567 Update ALSA device enumeration to return all devices
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>
2012-07-10 09:18:21 +02:00
Mithra Pattison
53fdcca366 Delete obsolete class methods and update related code
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>
2012-07-10 08:26:04 +02:00
Lev Zelenskiy
909576da6a Allow frequences up to 96000 in QAudioInput win32 backend.
QTBUG-26102

Change-Id: I1c594f7df4aea2292045e1e96f58926d97bcfd82
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-27 08:12:10 +02:00
Lev Zelenskiy
23a81d62e7 Clean buffers before closing the input device.
Input device handle is invalid after waveInClose()
QTBUG-24119

Change-Id: I8276e56766684efd26b78dc019ff871ebac28408
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-27 08:11:59 +02:00
Lev Zelenskiy
4ebedcd158 Added support for big endian data to QAudioOutput win32 backend.
Convert data from big endian to little endian.
QTBUG-19881

Change-Id: If62a69b79c01d66536010b3326a86df8ca5f83b0
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-06-26 09:13:30 +02:00
Oswald Buddenhagen
631f3ab025 fix bogus conditional
this code meant (alsa && linux) || openbsd || freebsd, which is
presumably not what was meant.
but the os test seems rather pointless in the first place, so just
remove it.

Change-Id: I2591c9307ab9d6e821625b24797259ed60e9a082
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-25 10:40:03 +02:00
Oswald Buddenhagen
82ade38b11 switch to new-style configure tests
Change-Id: Ib56d0cb24065c1f990aee5d7f41bfedfe75332a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-25 10:40:03 +02:00
Michael Goddard
eb92be7ede Fix QAudioOutput volume on OSX.
Change-Id: I142ca638d3dc0839f7c5b103f03edac6715a0bb6
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-06-20 09:11:28 +02:00
Maurice Kalinowski
6d2883e7ed fix volume handling on Windows
volume handling for QAudioOutput is broken currently as it fallbacks to
the default implementation.
Need to cache the volume, as hWaveOut is invalid while the output is not
in active state.

Task-number: QTBUG-25454
Change-Id: I2adb28a5e6719a5d3c360553abd70af46b646080
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-20 00:30:57 +02:00
Thiago Macieira
4bbbffeebc QIODevice* is used, but QIODevice was never declared
After I made qpair.h no longer include qdatastream.h, which included
qiodevice.h.

Change-Id: Icae2b466e022d3394ce5cafceeb4ea6601f6d33f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-19 21:58:02 +02:00
Michael Goddard
6931cbb35a Fix a number of other qdoc issues.
* Several places needed the forward class declaration hack
* Missing/wrong minor version numbers on imports
* A few typos
* Any number of attempts to work around qdoc
* A few missing docs
* Tweaked soundeffect docs

Change-Id: I3c2ab998a11cbb0956712e0423e01fdb70f5bfff
Reviewed-by: Peter Yard <peter.yard@nokia.com>
Reviewed-by: Angus Cummings <angus.cummings@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-06-15 08:49:29 +02:00
Simon Hausmann
40a95ed42c Fix build on Windows with new qdatetime.h that doesn't redefine min/max
Windows system header files redefine min/max, unless NOMINMAX is defined.
In some cases we can simply include qt_windows.h, which does the trick,
in other cases including qt_windows.h produces different compilation
errors and it's simpler to just do the NOMINMAX trick.

Change-Id: I3cf81bab7c239363adfa274f158bdf999d1d3ecd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-13 12:19:17 +02:00
Michael Goddard
f5e3fdc4a7 Clarify documentation about QAudioDecoder::read and blocking.
It doesn't block - not safe to implement in all cases.  Applications
can implement blocking semantics based on their usage of event loops
or threads.

Change-Id: If9a6b1ae7014df63a43989c4940524bc5eaae383
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-06-13 05:53:50 +02:00
Angus Cummings
4000a180dd Fixing some doc errors for overview
Change-Id: Ic502abf295d402678bb28e68bfacc76ae05ee8ec
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-08 06:02:32 +02:00
Michael Goddard
f53788ae42 A number of documentation fixes.
* Remove references to private QMediaServiceProvider class and point
  new backend writers to irc/mailing lists
* Wrong or missing parameter names
* Fix a few links
* Correct a few property data types
* Various other things to keep qdoc happier

Change-Id: I5c8800d65c00f0783541afef35990bd3918acab7
Reviewed-by: Angus Cummings <angus.cummings@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Daniel Kovacic <daniel.kovacic@nokia.com>
2012-06-07 07:05:57 +02:00
Stephen Kelly
b93032a7df Use QPointer instead of QWeakPointer to track QObjects.
The latter is to be deprecated.

Change-Id: I01998be880feba0819a9bc51f9bec48fd4601789
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-06-07 02:17:22 +02:00
Lars Knoll
487010e579 Remove the last remainders of the old plugin system
Port the last two currently unused plugins (v4l and wmf) over to the new plugin
format.

Fix documentation that still mentioned Q_EXPORT_PLUGIN.

Change-Id: I18200dd792e8973687e92180fc41d11395b35132
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-05 12:44:29 +02:00
Angus Cummings
786ecd937c ensure important docs are built by the automated publisher
this workaround makes sure that qdoc can find the \class
and \namespace declarations.

Change-Id: I950e6fbc10064f438d7f282ff20783acdf20de27
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-01 07:25:57 +02:00
Angus Cummings
b96ca81108 Very minor C++ doc changes
Reordering some enum's so values are listed ascending
Replace 'The' with 'the' in some briefs

Change-Id: Ibc5042389687598ddaaf11e72acaa688b85fd4cf
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-16 06:14:30 +02:00
Angus Cummings
9e6d03584a Minor doc fixes for QML
renaming QML element to QML type
removing some \fn tags that were making the docs not build
some rewording
some new signal docs

Change-Id: I9b350dad1780276959aef4105e53b91082a6083e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-05-16 05:21:25 +02:00
Thiago Macieira
b2b92dad82 Change uses of {to,from}Ascii to {to,from}Latin1
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: Ic591779a3431999c007fb0ff362c7e25ce54097e
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-05-04 13:36:08 +02:00
Jonathan Liu
641474ab10 Fix MinGW-w64 compilation
Change-Id: I812b53e822947a9f85d6523722c6a4f9e57e0426
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 11:04:05 +02:00
Lev Zelenskiy
4d1579d37b QSampleCache: Add a method to check whether a sample is cached.
At the moment there is no way to tell whether a sample
returned by QSampleCache comes from cache.
This functionality is required for a unit test.

Change-Id: Ice23bb39b8e4f0a58b9297b46bb19b9a8c34b53c
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-27 05:05:38 +02:00
Michael Goddard
d6cba78516 Fix a compiler warning.
Change-Id: If82ec145b9076c1418460fa4d59595e0a60e5a0f
Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-04-27 05:05:35 +02:00
Michael Goddard
b2d581b42e Fix a possible stale pointer access if we can't connect to PulseAudio.
We free the mainloop but didn't check validity before calling lock or
unlock.  Also we might need to unlock the main loop before freeing
it in some other error cases.

Change-Id: Iadf1049324cdf37ca9841b82e53e33afdcba8cb2
Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-04-27 05:05:32 +02:00
Lev Zelenskiy
cd5e90f00a Still need to count usage even when capacity is zero.
When the sample is removed we need to decrease sample cache usage,
even when capacity is set to zero.
Otherwise we're getting wrong usage after capacity is changed.

Change-Id: I38820c0f9441abec3086189698ec5a904e1e9b6f
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-25 04:04:59 +02:00
Lev Zelenskiy
c718043588 Do not try to complete flush operation if stream has changed.
There is a problem when sound effect already has a sound loaded and
we try to load new sound with setSource().
When sampleReady() is called between emptyStream() and emptyComplete()
it unloads the current stream and creates a new stream.
As a result pulse audio crashed in emptyComplete() while calling
pa_operation_unref(pa_stream_cork(
m_pulseStream, 1, stream_cork_callback, m_ref->getRef()))
with the new m_pulseStream.

Change-Id: Idff4fe6037d3f3f116734dc0facabaafa3db14a2
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-04-25 04:03:02 +02:00
Lev Zelenskiy
f1c4093f37 Disconnect probe control in case source was destroyed.
Change-Id: Ibc4583af8acf7d28ee2504f246840a26e3a527be
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-20 08:47:10 +02:00
Michael Goddard
5f7b64346d Expose the audio category information for streams.
QAudioOutput and QSoundEffect now have a category property so that
system volume mixing or processing can be applied.

Initially just pulseaudio supports this but Windows Vista etc should also
work.

Change-Id: I6855b08367e5a055ac7dfcffd644c98bfd7c5a4e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-04-16 10:56:34 +02:00
Angus Cummings
e24f4fed53 expanding unit test for QAudioDecoder
Looking for feedback concerning:
implementation of the change
desired functionality of QAudioDecoder

Changed the behaviour of QAudioDecoder for
more sane error output

Change-Id: I82193a94b6fe1ef4202a4ac7bd95c607e0bee9c6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-14 06:57:33 +02:00
Michael Goddard
e057fd9e8a Move QAudioDecoder to public.
To get better feedback between alpha & beta.

Change-Id: I3620825fb9c2bb9de69951cf1d583b191d62cb0d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-04-11 03:32:00 +02:00
Michael Goddard
8484b0ff9c Fix a number of doc errors and warnings.
* Document a few missing classes/functions/methods
* Fix a number of QML snippets that wouldn't work as standalone snippets
* Add files to .pro so they show up in Creator..

Still the mysterious lack of controls dir documentation persists :/

Change-Id: I57162371a4d966e4db5bdb1b71d1baf9c0ca57c3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-04-11 03:31:52 +02:00
Jonas Rabbe
c532850fd1 Updated a lot of minor fixes to the docs and removed warnings from qdoc
Change-Id: Ib7fd75fb93c038f9e8fa9d71b6ad01fb27b97622
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-05 03:54:02 +02:00
Thiago Macieira
45bd0d938e Rename the daemon global static to pulseDaemon
There's a daemon() function declared in unistd.h.

Change-Id: I1063e71248a5236a5bb6b8f10804c469c8d1f788
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-25 06:29:52 +02:00
Jonas Rabbe
7517dcca3b Updated IID, services, and controls to use qt-project URL
Instead of com.nokia.qt we should use org.qt-project.qt.
All the identifiers have also been updated to use pure lowercase, and
where used the version numbers have been updated to 5.0.

Change-Id: Ib209327f5205f5a086a5932394504a8a52e1f712
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-20 23:40:08 +01:00
Jonas Rabbe
a8ba6e3c7f Updated plugins to use new plugin architecture
Changed QMediaPluginLoader to use QFactoryLoader instead of QPluginLoader
and used metadata to get keys.
Removed QAudioPluginLoader and changed audio classes to use instead use
QMediaPluginLoader.
The plugins must include the Q_PLUGIN_METADATA macro, and no longer use
the Q_PLUGIN_EXPORT/Q_PLUGIN_EXPORT2 macros.
A json file has been added for each plugin which can contain metadata
which is available to the plugin loader before the plugin is actually
loaded, and is used to read the keys for the plugin, e.g. supported
services.
QFactoryInterface will be deprecated and has been removed from all
plugins.

Change-Id: I035b82f9c9c65717bebf704d560ea8f891df21da
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-20 23:39:45 +01:00
Casper van Donderen
d1b6bf5fac Remove the usage of deprecated qdoc macros.
QDoc now has support for Doxygen style commands for italics, bold
and list items. This change applies that change in QDoc to the
actual documentation.

Task-number: QTBUG-24578
Change-Id: Iec1c616e0d9a915a31a661916805916e19495dc9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-02 04:02:43 +01:00
Lev Zelenskiy
0b8c6115cd Changes to QAudioBuffer and QAudioDecoder (position and duration).
QAudioBuffer:
- Allow to specify startTime in the constructor.
QAudioDecoder:
- Removed WaitingState.
- New signals: finished(), positionChanged(), durationChanged().
- New methods: position(), duration().
- A parameter removed from read() method.

Change-Id: Ifb71502d0756aa306abd0a6bf7873934029952c4
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-24 06:00:38 +01:00
Peter Yard
cd5a8fc69d Docs: fix qml links and standalone build for Multimedia
Change-Id: Ia3f1e49aef203911bb5cf1ee062c9100be213b38
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-22 04:07:09 +01:00
Michael Goddard
b9e2410a2a Fix QAudioBuffer sampleCount vs. channelCount.
There were some inconsistencies in when the sample count was per channel
or in total.  The docs mention that it is in total, so fix a few cases
where it went wrong and test it.

Change-Id: I55c855911fcde66a218d6cdd327e09ad5406d5a4
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-21 07:35:23 +01:00
Lev Zelenskiy
4c07c6330d Added QAudioDecoderControl::sourceChanged signal.
The signal is mentioned in QAudioDecoder but is missing from
QAudioDecoderControl.

Change-Id: I0cd13c53541585098edd02093858501ffb5af1fb
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-02-17 07:27:51 +01:00