summaryrefslogtreecommitdiffstats
path: root/src/plugins/qnx-audio
Commit message (Collapse)AuthorAgeFilesLines
* io-audio based audio management for QNX 7.0.0James McDonnell2017-03-272-19/+118
| | | | | | | | | | | | | | | | | | | | Add code to setup and handle io-audio based audio management notifications. Add InterruptedState to QAudio::State. Indicates that this stream is in a suspended state because another higher priority stream currently has control of the audio device. Playback cannot resume until the higher priority stream relinquishes control of the audio device. Adjust the documentation for QAudio::State SuspendedState to reflect the fact that audio management events can also put the stream into this state. Add InterruptedState handling to the spectrum example. Change-Id: Ie8616af03ae4c503de1d0571a222e5853035cc0e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Propagate audio category into the QNX audio output objectJames McDonnell2017-03-272-0/+45
| | | | | | | | | | | For QNX 7.0.0, set the QNX stream type to the audio category. 6.6.0 doesn't support stream types. Add a -category command line argument to the spectrum example so that the audio category can be specified. Change-Id: I6a81210ce07dc4bd2f6cf81983c2f3e4c480ef0d Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Let the QNX ALSA library know about suspend/resumeJames McDonnell2017-03-092-0/+6
| | | | | | | | | | Allows ALSA to pause the audio device during a suspend. Prevents fast forward effect on resume. It also aligns the QNX ALSA plugin with what other platform plugins do. Change-Id: I3fa6626e566744f4f33cc89f73973094dd4ba25e Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Limit the size of the QnxAudioOutput stack bufferJames McDonnell2017-03-071-1/+4
| | | | | | | | | | | | | | | QnxAudioOutput allocates a buffer on the stack based on the free value from snd_pcm_plugin_status, but the way that QnxAudioOutput configures the stream, how QnxAudioOutput currently pauses playback, and a bug in io-audio combine to cause io-audio to produce very large free values when resuming playback after a long pause. As a result, QnxAudioOutput allocates a stack buffer that causes a stack overflow. Allocating a buffer on the stack with a size that isn't restrained in any way isn't a good idea. Put some constraints on the size. Change-Id: I2b72e72504041f0caeb591912662fb9bed931b21 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-112-2/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: qtmultimedia.pro src/multimedia/playback/qmediaplayer.cpp src/plugins/directshow/directshow.pro tests/auto/integration/qmediaplayerbackend/BLACKLIST Change-Id: I6dacdcbb223c1d12dd72eb308a67170983c709b3
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-042-2/+2
| |\ | | | | | | | | | Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
| | * Change PLUGIN_DISABLE_MMAP to PLUGIN_MMAPJames McDonnell2016-10-312-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PLUGIN_DISABLE_MMAP has been deprecated since 6.6.0 and it was recently removed from 7.0.0. PLUGIN_MMAP is favored as of 6.6.0. The DISABLE in the value name is unnecessary because the value is only used to call a function whose name already indicates that's how it'll be used. Change-Id: Ie714f0fe8e874bbd1c7d8ee998f5a65f38f24fd2 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Improve QAudioDeviceInfo::defaultDevice().Christian Stromme2016-05-202-2/+10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation of QAudioDeviceInfo::defaultXDevice() would always report the first available device as the "default" one, making the order, in which devices were listed, a hidden requirement when implementing audio plugins. To make it easier and more reliable to retrieve the default device, all new plugins should implement the new QAudioSystemPluginExtension interface as well as the QAudioSystemPlugin. Devices will be chosen in the following order (first match wins): default plugin -> default device -> first available device plugins -> default device -> first available device Task-number: QTBUG-51292 Change-Id: I8ace78858976fe7c60a2c4a117ef15c4e1bb177f Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/mediaplayer.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro Change-Id: I5742596230dc510ba2a09eba624429bb67179194
| * remove redundant statements from project filesOswald Buddenhagen2016-02-251-2/+1
| | | | | | | | | | | | | | | | | | | | - TARGET is unnecessary if it matches the project file's basename - CONFIG+=no_private_qt_headers_warning is added by qt_build_config.prf - load(qt_build_config) is done by .qmake.conf Change-Id: I3eb45a758dfee34be3c78fc13d996780741c95e9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-2/+3
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1910-140/+200
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I324f65c61171f36641472964d095d72e452afb3a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Update copyright headersAntti Kokko2015-02-1210-60/+60
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Add missing includes for QDataStream/QIODevice.Friedemann Kleint2015-01-072-0/+2
| | | | | | | | After qtbase/90e7cc172a7521396bb2d49720ee4ceb9a9390b3, QStringList no longer includes QDataStream. Change-Id: Ibe3e1e6542e1b592adaabe3f8ffd3268efaf289b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Sergio Ahumada2014-09-262-2/+2
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0
| * Fix integer overflow in several audio plugins.Yoann Lopes2014-09-092-2/+2
| | | | | | | | | | | | Task-number: QTBUG-40804 Change-Id: If006cb7db319bb6fda4ce7eb4f907e897b5d9efa Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Update license headers and add new license filesAntti Kokko2014-08-2410-180/+100
|/ | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* QNX: Restructure pluginsFrank Osterfeld2013-11-0913-0/+1753
Now that the MmRenderer implementation is ported to plain QNX, rename the directories and files accordingly: "blackberry" becomes "qnx", replace the Bb prefix with MmRenderer for classes concerned with mm-renderer. The legacy alsa support for plain qnx is now "qnx-audio". Change-Id: I6abd98ecdd713b2d5e554d42224dc30f13772f43 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>