Commit Graph

24 Commits

Author SHA1 Message Date
Gabriel Hege
68dbc9ba02 Fix: static linking on Linux with both PulseAudio and Alsa plugins
Fixed multiply defined symbols when linking statically with both
PulseAudio and Alsa plugins enabled:
The private classes In/OutputPrivate had identical names and have been
renamed.

Change-Id: I9415beeeed9fb0e14ead3f0ab906f343b3934341
Task-number: QTBUG-43514
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2014-12-22 15:48:42 +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
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
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
Robin Burchell
5f33d7bea3 Only call pa_cvolme set on stream creation if volume explicitly set.
Streams without a custom volume set use suitable volume selected
by the PulseAudio server. This is usually the correct choice, since then
stream-restore module can apply old volume to the stream. Also with
Sailfish explicitly setting the volume to streams breaks system volume.

Change-Id: I75f5bf4e7aaafb4bd55510f5ac4ddf03767d494b
Done-with: Juho Hämäläinen <juho.hamalainen@tieto.com>
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
2014-08-04 20:38:14 +02:00
Yoann Lopes
85f4b8177c PulseAudio: make plugin more robust.
Handle more thoroughly error cases, such as when the PulseAudio daemon
does not respond or terminates while QAudioInput/QAudioOutput is
active, in which cases it used to crash or hang.

We now correctly emit the error signal and change the state when errors
occur.

Task-number: QTBUG-29742
Change-Id: I173d35aece60d96e578785e1522cf78b24dcb8b8
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-07-10 15:59:37 +02:00
Robin Burchell
87b8b4489a QAudioOutput: Don't guess media role if one has not been provided in setCategory.
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.

This fixes QAudioOutput not respecting system volume on Sailfish.

Change-Id: If1d05192f513eb54fdfbd1df217286f329b2bfe8
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-02-07 13:23:27 +01:00
Thiago Macieira
7a4ea30350 Fix warnings in qtmultimedia
/camerabinresourcepolicy.cpp:100:42: error: unused variable 'oldSet' [-Werror=unused-variable]
camerabincontrol.cpp:167:54: error: 'resourceSet' may be used uninitialized in this function [-Werror=maybe-uninitialized]
qaudiooutput_pulse.cpp:416:20: error: unused variable 'bytesWritten' [-Werror=unused-variable]

Change-Id: Idafd85b7985673f1f22d868b5f1b1e46a60ada4a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-04-03 20:21:02 +02: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
Iikka Eklund
dcbbad869e Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: Id77334cfb15de096941c88e32d04ca07b4eb4709
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-09-24 09:05:51 +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
db9a6de400 QAudioOutput: low-latency related changes.
- Decrease timer period to 10ms;
- Set PulseAudio buffer size if specified by the user;
- Set PulseAudio buffer size to 40ms if not specified;
- Always request 1 chunk of data at a time in pull mode;

Change-Id: If95c097c67c3342f733bde9e699518741d7ef991
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-05-14 05:34:42 +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
Thomas Senyk
02efdccae9 add #include <unistd.h> to classes which use ::getpid
I got  "error: ‘::getpid’ has not been declared" and solved it with
adding #include <unistd.h>

Updated version of change 23032.
Now including <sys/types.h> as well.

Change-Id: I969845e1c4d5b72a223f6f4e0050b2fb342b8f17
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-13 03:28:29 +02:00
Jason McDonald
5e801e2793 Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.

Change-Id: I20e5215108c6ebd5f8474fed5c3665118e4791e6
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-30 07:08:05 +01:00
Jason McDonald
6390157fd7 Update obsolete contact address.
Replace Nokia contact email address with Qt Project website.

Change-Id: Ie8cd560b6d9a2c6e552b6be1ad8bc96c80a6535c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:21:51 +01:00
Jason McDonald
0dca769d5a Update year in Nokia copyright headers.
Update headers from before 2011 that were missed in the previous commit.

Change-Id: Ib0fd91a39ffc57117fe01280e34519c3f914fac0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-12 01:08:31 +01:00
Ling Hu
d0655b3ced Add cap on internal read/write buffer for QAudioOuput(PA)
cap set to no more than 5x period size

Change-Id: If3ae244993a8929832f6724c386dac6f12ef0f03
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2011-11-15 07:17:23 +01:00
Ling Hu
d6c5d9faa6 Add additional protection on the write size in QAudioOuput(pulseaudio)
Check and cap the write size in pull mode to handle the case
where user returned an invalid write size through QIODevice

Change-Id: Ie0610a63f1d5400fba87f32a99bdc38479e0e7e8
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2011-11-14 10:44:04 +01:00
Ling Hu
a8be7b6053 Fix pullmode data lost problem in QAudioOutput(pulseaudio)
At each userFeed, m_bytesAvailable is not updated properly in pullmode,
so the pull data size become irrelevent to the size we can actually write.
This problem is fixed by checking the actual writable size each time
before pulling the data and limit the size of the pulled and written data.

Change-Id: I6f53e6348693ddf4e3c79e90d3c3d0c1ffc713aa
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2011-11-09 01:24:14 +01:00
hawcroft
a645b75e35 Add QAudioOutput volume API and pulseaudio backend implementation.
Change-Id: I70784e8d17522a23f6467713d58384b30557694b
Reviewed-on: http://codereview.qt-project.org/5663
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: derick hawcroft <derick.hawcroft@nokia.com>
2011-09-28 05:33:38 +02:00
Michael Goddard
fdac892bbc Remove most of the "mobility" references.
Docs still need some fixing, but there are some legitimate usages of
it there.

Change-Id: I94c7b68788ce97829711a4384884d7e52fe84162
Reviewed-on: http://codereview.qt.nokia.com/1736
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2011-07-19 08:40:59 +02:00
Jyri Tahtela
a925bb4a9e Update licenseheader text in source files for qtmultimediakit Qt module
Replace old license header with correct one.

Change-Id: Ibff8fbea6595bb80f1122d55db2194accd319308
Reviewed-on: http://codereview.qt.nokia.com/1318
Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com>
2011-07-08 07:59:00 +02:00
Michael Goddard
2a34e88c1e Initial copy of QtMultimediaKit.
Comes from original repo, with SHA1:
2c82d5611655e5967f5c5095af50c0991c4378b2
2011-06-29 13:38:46 +10:00