Commit Graph

17 Commits

Author SHA1 Message Date
Antti Kokko
bbfccc7135 Update copyright headers
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>
2015-02-12 10:27:47 +00:00
Friedemann Kleint
4459561dd5 Add missing includes for QDataStream/QIODevice.
After qtbase/90e7cc172a7521396bb2d49720ee4ceb9a9390b3,
QStringList no longer includes QDataStream.

Change-Id: Ibe3e1e6542e1b592adaabe3f8ffd3268efaf289b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2015-01-07 23:11:16 +01:00
Yoann Lopes
9496d5fba5 OpenSL ES: volume support for QAudioInput.
The OpenSL volume interface is not available for audio inputs on
Android so we apply the volume ourselves on the PCM data.

Task-number: QTBUG-42159
Change-Id: If43d8aa576bc70a925681f0db1ca8b40e71f7b29
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-03 16:45:55 +01:00
Christian Strømme
e92bcbfa4d OpenSL ES: improve buffer logic
Don't use relaxed load and stores, we need to be stricter to avoid
problems with high frequency re-fills of the buffer. If we don't enforce
ordering we might end-up spending more time trying to acquire an open
slot in the buffer. Updating processes bytes is also moved off the
"OpenSL" thread.

Added some comments for improved readability.

Change-Id: Ie27965fc6bf4b8394081ae6419f4933522ada98e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-04 15:09:26 +01:00
Christian Strømme
ad929984e3 OpenSL ES: Don't store or return the adjusted volume level.
According to our own docs we should always return 1.0 (MAX) volume level
if the device doesn't support setting the volume, which is the case
for OpenSL ES on Android.

Task-number: QTBUG-42159
Change-Id: I9144e9e2cd84cc80633c68c5d6fa32b8dbd0fcd5
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-11-04 14:18:39 +01:00
Sergio Ahumada
41a1c16340 Merge remote-tracking branch 'origin/5.3' into 5.4
Conflicts:
	.qmake.conf

Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0
2014-09-26 15:28:44 +02:00
Christian Strømme
65d44edd3d OpenSL ES: Be less rigid about tearing down the output device.
We where very strict about tearing down the audio device. While this is
a good strategy to avoid unnecessary resource usage, it also causes
excessive re-allocations, e.g., when transiting from start to stop and
back again. This can increase latency, especially in case where a short
clip is re-played at a high frequency.
This change also decrease the chance of the player ending up in some
unknown state where it drops audio clips without any warning.

Task-number: QTBUG-40864
Change-Id: I1afad4af0622983f0f0c221d91cf794585d8cad2
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-09-12 14:04:08 +02:00
Yoann Lopes
18d6560db1 Fix integer overflow in several audio plugins.
Task-number: QTBUG-40804
Change-Id: If006cb7db319bb6fda4ce7eb4f907e897b5d9efa
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-09-09 13:46:19 +02:00
Frederik Gladhorn
659f238bbb Merge remote-tracking branch 'origin/5.3' into 5.4
Conflicts:
	src/gsttools/qgstreamervideoinputdevicecontrol.cpp
	src/plugins/gstreamer/camerabin/camerabinserviceplugin.cpp
	src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp

Change-Id: Ic854589562d2deeaa0ebf75840cb8a2ee32e99de
2014-09-01 12:52:51 +02:00
Christian Strømme
fb35f025e3 OpenSL: Fix QAudioOutput::setNotifyInterval().
It was not possible to change the notify interval after calling
start().

Task-number: QTBUG-40208
Change-Id: I82a626003e3bdfe7b7fc88b2f97da492c788877e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-08-25 16:33:16 +02:00
Antti Kokko
2732e23887 Update license headers and add new license files
- 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>
2014-08-24 17:30:13 +02:00
Yoann Lopes
5a0e49369d OpenSL: don't try to enqueue new buffers when the buffer queue is full.
It could lead to corrupted sound since we were overwritting buffers
that weren't played yet.

Task-number: QTBUG-39015
Change-Id: I4c015c5383b813955998145d6316acc8c22f19a3
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-05-30 14:47:20 +02:00
Yoann Lopes
a6e0dd525a OpenSL ES: lazy initialization of QAudioInput's supported formats.
Change-Id: I51cdd35a944c990ce7df999bcb6063342e98c62d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-03-18 14:47:48 +01:00
Christian Strømme
14f31c29cf OpenSL: Fix volume scale
The old code was assuming that the interface was expecting power
values, while it actually uses amplitude values. In addition the
difference between the min/max values where used, resulting in
quite high gain values.

Task-number: QTBUG-34777

Change-Id: Ibd3f7774b67c44e37dfd79cbe6e2c35746f00a0a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-12-02 18:05:52 +01:00
Christian Strømme
044e48d5a4 OpenSL: Fix build warning about unused result variable.
Change-Id: I11a4a3792feb90c46d4f3a77aafa82c18a9d9a45
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-17 21:17:07 +02:00
Christian Strømme
ef64462696 OpenSL: Fix typos
Change-Id: I1a293bbf8ad3d9016ff6a7ec816c33d3303e5959
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-12 16:04:23 +02:00
Yoann Lopes
680c9cab91 OpenSL ES audio plugin.
Adds support for QAudioOutput, QAudioInput and QAudioDeviceInfo using
OpenSL ES 1.0.1. This plugin is used on Android.

Change-Id: Idf2c22a861e067196f6c5139e51393b086f64183
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-07-19 09:42:19 +02:00