summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '4.6' of S:\sync\git\trolltech\qt-s60-public.git\ into 4.6Gareth Stockwell2010-05-112-0/+20
|\
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-05-108-453/+649
| |\ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Return correct formats supported lists from Symbian audio backend
| * | Update to low-level audio documentation.Kurt Korbatits2010-05-092-0/+20
| | | | | | | | | | | | Reviewed-by:Gareth Stockwell
* | | Fixed typo in QAudioInput bufferSize documentationGareth Stockwell2010-05-111-2/+2
| |/ |/| | | | | | | | | | | Docs stated that the bufferSize was a value in milliseconds. Corrected this to bytes. Reviewed-by: trustme
* | Return correct formats supported lists from Symbian audio backendGareth Stockwell2010-05-108-453/+649
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * QAudioDeviceInfoInternal functions now call CMMFDevSound::InitializeL() The root cause of QTBUG-10205 was that CMMFDevSound::IntitializeL() was not called before CMMFDevSound::Capabilities(), resulting in incorrect values being returned by QAudioDeviceInfo 'supported format' functions. Resolving this was not straightforward because, while QAudioDeviceInfo is an entirely synchronous API, CMMFDevSound::InitializeL() is an asynchronous function. The changes therefore include a while(QApplication::instance()->processEvents(...)) loop, which is not a particularly elegant solution. * Encapsulated all interaction with CMMFDevSound API in DevSoundWrapper class Because the original bug fix required QAudioDeviceInfoInternal to call CMMFDevSound::InitializeL(), MDevSoundObserver callback functions had to be implemented in QAudioDeviceInfoInternal. Rather than pollute QAudioDeviceInfoInternal, a new class, DevSoundWrapper, was created which encapsulates all interaction with CMMFDevSound, and therefore implements MDevSoundObserver. QAudioInputPrivate and QAudioOutputPrivate now call CMMFDevSound via DevSoundWrapper, with only the required MDevSoundObserver callbacks forwarded on via signals. After fixing this bug, running the auto test suites exposed a number of regressions which had been introduced by the necessary refactoring described above; this commit therefore also includes fixes for the following: * No stateChanged() signal emitted during DevSound initialization Previously, QAudioInput / QAudioOutput would emit a state change from StoppedState to IdleState or ActiveState, as soon as start() was called. In the case where the requested format is subsequently found to be unsupported, in addition to the error() value being set to OpenError, a second state change would be emitted, back to StoppedState. This is not the behaviour exhibited by the other platforms' backends, and therefore caused an auto test failure. Now, the backend only transitions to IdleState / ActiveState on successful initialization. * Stop emitting notify() signal when notifyInterval is set to zero * Call CMMFDevSound::RecordInitL() from QAudioInput::resume() if no buffer is currently held This is necessary in order to restart the data flow. * Call CMMFDevSound::BufferFilled() from QAudioOutput::resume() in push mode The auto test does not resume pushing data to QAudioOutput until 'bytesFree() >= periodSize()' becomes true. Because, for the Symbian backend, periodSize() == bufferSize(), this condition is only met when a new buffer is provided by DevSound via BufferToBeFilled(). Task-number: QTBUG-10205
* win32 backend for low-level audio fixesKurt Korbatits2010-04-264-78/+67
| | | | | | | | - fix deadlock with QAudioInput (win32) backend - changed win32 backend to use QMutex lock - setNotifyInterval(0) to disable notify() signal Reviewed-by:Derick Hawcroft
* Disable notify() signal when setNotifyInterval is zero in alsa backend.Kurt Korbatits2010-04-232-14/+4
| | | | Reviewed-by:Derick Hawcroft
* QAudioOutput always uses default output deviceKurt Korbatits2010-04-211-4/+3
| | | | | Task-number:QTBUG-9766 Reviewed-by:Derick Hawcroft
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging into ↵Qt Continuous Integration System2010-04-192-2/+4
|\ | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging: Bug in QAudioOutput: Invalid use of "waveOutUnprepareHeader"
| * Bug in QAudioOutput: Invalid use of "waveOutUnprepareHeader"Kurt Korbatits2010-04-192-2/+4
| | | | | | | | | | | | | | Fixed freeBlocks func in both input and output Task-number:QTBUG-9875 Reviewed-by:Andrew den Exter
* | Fixed compiler warningGareth Stockwell2010-04-151-2/+2
| | | | | | | | Reviewed-by: trustme
* | Document Symbian platform security requirements on Qt APIsFrans Englich2010-04-121-0/+18
|/ | | | | | | | | Work done jointly by Gareth and me. Yields no qdoc errors. Task-number: QTBUG-9342 Task-number: QTBUG-9120 Reviewed-by: Gareth Stockwell Reviewed-by: David Boddie
* Corruption in data captured by QAudioInputKurt Korbatits2010-04-091-2/+2
| | | | | | | | Increased default buffer size and period size for windows. 11025monoS16LE was choppy, needed bigger periods. Task-number:QTBUG-9101 Reviewed-by:Derick Hawcroft
* Just one (static) waveInCriticalSection but multiple QAudioInput toKurt Korbatits2010-04-094-11/+11
| | | | | | | record from different soundcards Task-number:QTBUG-9221 Reviewed-by:Andrew den Exter
* Mismatch between reported and actual supported sample rates inKurt Korbatits2010-04-071-11/+63
| | | | | | | | | QtMultimedia backend for Windows -Added 8000 as long as another frequency is available. -options available changed from hard-coded to detected options. Task-number:QTBUG-9100 Reviewed-by:Derick Hawcroft
* QAudioInput: possible change of state without emitting stateChange()Kurt Korbatits2010-04-062-2/+1
| | | | | | | | Removed state change from close() function, should be set by caller depending on context. Task-number:QTBUG-9357 Reviewed-by:Dmytro Poplavskiy
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging into ↵Qt Continuous Integration System2010-03-241-2/+2
|\ | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging: Calculate period size correctly.
| * Calculate period size correctly.Justin McPherson2010-03-241-2/+2
| | | | | | | | Reviewed-by:Dmytro Poplavskiy
* | Symbian QAudioOutput::suspend() was resetting processedUSecs() to zeroGareth Stockwell2010-03-241-1/+2
|/ | | | | | | | | | | | | Because of the logic in the Symbian implementations of suspend() and processedUSecs(), the behaviour prior to this patch was as follows: - after calling suspend(), processedUSecs() reported zero - when resume() is called, the amount of silent padding data inserted into the output stream is equal to the amount of data played prior to suspend() The patch corrects the above defect, but introduces a new one, which is described in QTBUG-9322 Reviewed-by: trustme
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging into ↵Qt Continuous Integration System2010-03-163-30/+52
|\ | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging: Use AudioConverter when not preferred format. Handle values passed to setNotifyInterval more robustly. Make sure to check for a valid audioformat before open.
| * Use AudioConverter when not preferred format.Justin McPherson2010-03-162-26/+34
| | | | | | | | Reviewed-by:Dmytro Poplavskiy
| * Handle values passed to setNotifyInterval more robustly.Justin McPherson2010-03-162-2/+16
| | | | | | | | Reviewed-by:Dmytro Poplavskiy
| * Make sure to check for a valid audioformat before open.Justin McPherson2010-03-162-2/+2
| | | | | | | | Reviewed-by:Dmytro Poplavskiy
* | Moved Symbian audio backend into QtMultimedia.dllGareth Stockwell2010-03-1210-6/+2571
|/ | | | | | | | | Changed backend from being a plugin, to being statically compiled into QtMultimedia.dll. This is to achieve consistency with the backends for other plugins, and to allow the plugin API to be modified. Task-number: QTBUG-8994 Reviewed-by: trustme
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging into 4.6Kurt Korbatits2010-03-112-1/+2
|\
| * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-multimedia-staging ↵Justin McPherson2010-03-111-1/+5
| |\ | | | | | | | | | into 4.6
| * | Ensure audio converter member is initialized.Justin McPherson2010-03-111-0/+1
| | | | | | | | | | | | Reviewed-by:Dmytro Poplavskiy
| * | Documentation fix.Justin McPherson2010-03-111-1/+1
| | | | | | | | | | | | Reviewed-by:Dmytro Poplavskiy
* | | QAudioInput sometimes not writing to QIODeviceKurt Korbatits2010-03-111-0/+20
| |/ |/| | | | | | | | | | | Handle error recovery better. Task-number:QTBUG-8893 Reviewed-by:Derick Hawcroft
* | QAudioInput::processedUSecs() incorrectKurt Korbatits2010-03-111-1/+5
|/ | | | | | | | Bug introduced by change 04532ba052559b265b1bc85dc143d8aeeb02149f Was calculating time assuming totalTimeValue was in frames but it is stored as bytes in alsa input case. Reviewed-by:Dmytro Poplavskiy
* SIGSEGV after QAudioOutput closed.Kurt Korbatits2010-03-101-0/+3
| | | | | Task-number:QTBUG-8755 Reviewed-by:Derick Hawcroft
* Fixed deadlock introduced by changeKurt Korbatits2010-03-101-1/+2
| | | | | | | 83e73a69d5a1c6b94c5c83f91141f35d65d27f36. alsa callback was deadlocking with QEventDispatcherGlib. Reviewed-by:Dmytro Poplavskiy
* Fixed invokeMethod in alsa implementation.Kurt Korbatits2010-03-101-1/+1
| | | | Reviewed-by:Dmytro Poplavskiy
* Linux QAudioOutput playback stutteringKurt Korbatits2010-03-041-1/+43
| | | | | | | | Adjust buffer and period sizes if system cannot work with defaults (alsa). Task-number:QTBUG-8339 Reviewed-by:Derick Hawcroft
* Fix namespace issues.Justin McPherson2010-03-024-13/+13
| | | | Reviewed-by: Kurt Korbatits
* Fix Audio input on OSX 10.6.Justin McPherson2010-03-021-1/+3
| | | | | Task-number: QTBUG-5741 Reviewed-by: Kurt Korbatits
* win32 backend for low-level audio doesn't pass new unit testsKurt Korbatits2010-02-232-26/+78
| | | | | | | | | | | | | New unit tests have identified issues with awin32 backend. These issues need to be resolved before new unit tests are added. * stateChanged() signal should only be emitted on change of state currently signals can be emitted multiple times. * for output data is being lost when input can be read from QIODevice but cannot be written to audio sub system. Task-number:QTBUG-8441 Reviewed-by:Dmytro Poplavskiy
* alsa backend for low-level audio doesn't pass new unit testsKurt Korbatits2010-02-232-118/+67
| | | | | | | | | | | | | | | | New unit tests have identified issues with alsa backend. These issues need to be resolved before new unit tests are added. * stateChanged() signal should only be emitted on change of state currently signals can be emitted multiple times. * elapsedUSecs() currently uses alsa to provide this value but this is not reliable enough and this time is reset when suspend/resuming. This is not correct operation. * for output data is being lost when input cant be read from QIODevice but cannot be written to audio sub system. Task-number:QTBUG-8440 Reviewed-by:Dmytro Poplavskiy
* Updates to low-level audio documentation.Kurt Korbatits2010-02-232-86/+66
| | | | | | | Detail state changes and error states in QAudioInput and QAudioOutput documentation. Reviewed-by: Derick Hawcroft
* Doc: remove \preliminary tag from public multimedia classesVolker Hilsheimer2010-02-124-4/+0
|
* Revert "Frequency to SampleRate and channels to channelCount."Kurt Korbatits2010-01-1412-96/+49
| | | | | | | | | | | | | | | | | | | | This reverts commit 80d4a4945d3273a4b2ce91e34597533f661af320. Conflicts: examples/multimedia/audioinput/audioinput.cpp examples/multimedia/audiooutput/audiooutput.cpp src/multimedia/audio/qaudio_mac.cpp src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp src/multimedia/audio/qaudioformat.h src/multimedia/audio/qaudioinput.cpp src/multimedia/audio/qaudiooutput.cpp tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp tests/auto/qaudioformat/tst_qaudioformat.cpp tests/auto/qaudioinput/tst_qaudioinput.cpp tests/auto/qaudiooutput/tst_qaudiooutput.cpp
* Revert "Added setChannelCount() to QAudioFormat."Kurt Korbatits2010-01-148-34/+19
| | | | | | | | | | | | | | | | | | | | This reverts commit f124538ef4840c3d24b4c7e9e7221adb52bdee2c. Conflicts: examples/multimedia/audioinput/audioinput.cpp examples/multimedia/audiooutput/audiooutput.cpp src/multimedia/audio/qaudio_mac.cpp src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp src/multimedia/audio/qaudioformat.h src/multimedia/audio/qaudioinput.cpp src/multimedia/audio/qaudiooutput.cpp tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp tests/auto/qaudioformat/tst_qaudioformat.cpp tests/auto/qaudioinput/tst_qaudioinput.cpp tests/auto/qaudiooutput/tst_qaudiooutput.cpp
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-team into ↵Qt Continuous Integration System2010-01-131-1/+1
|\ | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-team: Fix example in QAudioOutput/QAudioInput docs
| * Fix example in QAudioOutput/QAudioInput docsKurt Korbatits2010-01-132-2/+2
| | | | | | | | | | | | Fixed error in doc comments. Reviewed-by:Justin McPherson
* | Fix code exampleBernhard Rosenkraenzer2010-01-111-1/+1
| | | | | | | | | | | | | | | | | | The example given for QAudioOutput doesn't actually compile: QAudioOutput::start takes a pointer to a QIODevice, but it's passed a QFile (not the pointer). Merge-request: 418 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6Simon Hausmann2010-01-0816-69/+131
|\ \ | |/ | | | | | | Conflicts: src/multimedia/audio/qaudioformat.cpp
| * QAudioInput loses data on Maemo5/other linux platforms.Kurt Korbatits2010-01-071-1/+1
| | | | | | | | | | | | | | | | The alsa backend was calculating sample timer on resume using buffer_time instead of period_time. Task-number:QTBUG-7044 Reviewed-by:Justin McPherson
| * Frequency to SampleRate and channels to channelCount.Kurt Korbatits2010-01-0616-60/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | -Added channelCount(), changed everything to use this instead of channels() in QAudioFormat class. -Added setSampleRate() and sampleRate(), changed everthing to use these instead of setFrequency() and frequency() in QAudioFormat class. -Added supportedSampleRates() and supportedChannelCounts(), changed everything to use these instead of supportedFrequencies() and supportedChannels() in QAudioDeviceInfo class. Reviewed-by:Justin McPherson
| * Added setChannelCount() to QAudioFormat.Kurt Korbatits2010-01-068-9/+19
| | | | | | | | | | | | | | Added setChannelCount() and updated docs/examples/tests to use it instead of setChannels(). Reviewed-by:Justin McPherson
* | Doc: Added the QAudio namespace to the multimedia module documentation.David Boddie2010-01-071-0/+2
| | | | | | | | | | | | Also added it to the multimedia group. Reviewed-by: Trust Me