Commit graph

51 commits

Author SHA1 Message Date
Jyri Sarha
5391daf8df core: Add infrastructure for synchronizing HW and SW volume changes
To make concurrent use of SW and HW volume glitchles their application
needs to be synchronized. For accurate synchronization the HW volume
needs to be applied in IO thread. This patch adds infrastructure to
delay the applying of HW volume to match with SW volume timing. To
avoid synchronization problems this patch moves many of the volume and
mute related functions from main thread to IO thread. All these
changes become active only if the sync volume flag for a sink has been
set. So, for this patch to have any effect it needs to be taken into
use by sink implementor.

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
2010-10-16 11:53:38 +01:00
Pierre-Louis Bossart
9b6c84ad6e AC3 passthrough support
Second version after Tanu's feedback

TODO:
    - notify client that volume control is disabled
    - change sink rate in passthrough mode if needed
    - automatic detection of passthrough mode instead of hard
    coded profile names

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-08-12 18:20:27 +01:00
Mads Kiilerich
6faf38313e headers: Some trivial fixes for some documentation typos
Note also the willneed/will_need inconsistency. I guess it could be nice to ASAP
choose one of them and introduce a backward compatibility hack for the other.

The issues was mostly found with:
for a in $(grep -r '^[ /]\*.*()' $(
	find -name '*.[ch]') |
	sed 's,^.* \([^ ]*\)().*$,\1,g' |
	sort |
	uniq |
	grep ^pa_)
do
	grep -rq "^.[^*].*\<$a(" $(find * -name '*.h') || echo $a
done
2010-01-05 21:27:33 +01:00
Lennart Poettering
f27a50691c libpulse: introduce PA_STREAM_RELATIVE_VOLUME 2009-10-29 00:46:22 +01:00
Colin Guthrie
8f4940b17a libpulse: Add *_NOFLAGS flags with value 0 for various enums
This avoids the need for ugly casting in client implementations.
2009-09-22 18:43:03 +01:00
Lennart Poettering
6b8fdc4169 CANCELLED vs. CANCELED
Define CANCELLED as alias for CANCELED
2009-09-17 01:19:55 +02:00
Lennart Poettering
54609675e5 libpulse: add new error code PA_ERR_BUSY 2009-09-11 01:20:45 +02:00
Lennart Poettering
bd8e043a52 bluetooth: return sensible error code in set_profile() 2009-06-17 04:51:57 +02:00
Maarten Bosmans
8bcb9c6910 various spelling fixes 2009-04-04 02:27:13 +02:00
Lennart Poettering
d33be12fde Merge commit 'elmarco/dbus' 2009-03-30 20:26:27 +02:00
Marc-André Lureau
1dad83b73c pulse: client connect to dbus 2009-03-30 21:05:31 +03:00
Lennart Poettering
491aafd8dc typo fix 2009-03-30 18:27:33 +02:00
Lennart Poettering
8282efcfa3 fix value of DYNAMIC_LATENCY 2009-03-25 16:17:15 +01:00
Lennart Poettering
44ca897769 introduce new flag that marks sinks/sources which can adjust the latency dynamically 2009-03-25 00:30:54 +01:00
Lennart Poettering
3122008704 try to detect when stupid clients forks and refuse all service from then on 2009-03-05 04:33:40 +01:00
Lennart Poettering
823431e447 allow sending meta/policy events to clients 2009-02-12 03:18:05 +01:00
Lennart Poettering
6bb2c49057 add #defines for all enums that lacked it 2009-02-06 02:01:17 +01:00
Lennart Poettering
f9696c0e7f add a macro definition for each error code 2009-02-03 03:38:40 +01:00
Lennart Poettering
50bfa774f6 add new error code PA_ERR_NOTIMPLEMENTED 2009-02-03 03:08:14 +01:00
Lennart Poettering
e47d03dea4 implement PA_STREAM_FAIL_ON_SUSPEND logic 2009-02-03 02:23:46 +01:00
Lennart Poettering
d5f46e824e move flat volume logic into the core. while doing so add n_volume_steps field to sinks/sources 2009-01-27 04:39:07 +01:00
Lennart Poettering
6058530571 import version.h in all header files to make sure that version-based feature testing works 2009-01-27 02:36:42 +01:00
Lennart Poettering
a5c9546fc7 fix copy'n'paste error 2009-01-22 00:17:55 +01:00
Lennart Poettering
8839d86672 remove misplaced whitespace 2009-01-20 00:14:50 +01:00
Lennart Poettering
8886e66ff6 Document explicitly that the internal sink/source states are not considered part of the ABI/API 2009-01-19 23:54:44 +01:00
Marc-André Lureau
310f433848 pulse: share private enum values with client side 2009-01-20 00:16:18 +02:00
Marc-André Lureau
9c4f8e627a pulse: introspect sink state 2009-01-20 00:16:18 +02:00
Lennart Poettering
23cd942a0d fix doxygen version references 2009-01-19 23:03:22 +01:00
Lennart Poettering
29c7a28817 kill autoload stuff as planned 2009-01-15 20:07:13 +01:00
Lennart Poettering
b6deb0cc4c add new pa_card object as a way to logically combine multiple sinks and sources 2009-01-15 18:29:16 +01:00
Lennart Poettering
0b0b3d895d make PA_CONTEXT_IS_GOOD/PA_STREAM_IS_GOOD a macro so that we can easily check for its availability 2009-01-15 18:23:32 +01:00
Marc-André Lureau
09641cc707 build: fix few warnings 2009-01-13 22:56:02 +02:00
Lennart Poettering
adc2973c8d Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED 2008-10-26 19:32:04 +01:00
Lennart Poettering
bf403fe0d8 introduce macros for all flags so that clients can check for them with #ifdef 2008-09-03 19:51:33 +02:00
Lennart Poettering
c402de7545 reindent comments a bit 2008-09-03 18:51:46 +02:00
Lennart Poettering
40b66a0be9 Implement "early requests" mode.
PA_STREAM_EARLY_REQUESTS is a new flag that will modify buffering metric
selection behaviour a bit. This code is good for broken ALSA/OSS clients that
ignore 'readability' on the fds in question and schedule audio via usleep()
instead.
2008-09-03 18:31:46 +02:00
Lennart Poettering
4348fafcc8 don't include leagacy definition PA_STREAM_NOT_MONOTONOUS in docs 2008-09-01 19:17:14 +02:00
Lennart Poettering
114f290be7 add a new error code PA_ERR_NOEXTENSION 2008-08-03 18:54:55 +02:00
Lennart Poettering
c1f9f95fa2 prepare doxygen docs for 0.9.11 2008-07-21 18:55:17 +02:00
Lennart Poettering
63b68f418e call the enum PA_STREAM_NOT_MONOTONIC and make PA_STREAM_NOT_MONOTONOUS an alias for that 2008-06-26 00:27:54 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
045c1d602d merge glitch-free branch back into trunk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15 23:34:41 +00:00
Lennart Poettering
14a9b80afb - Check process name when dealing with PID files
- Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it
- Expose those flags in pacat
- Add notifications about device suspend/resume to the protocol and expose them in libpulse
- Allow changing of buffer_attr during playback
- allow disabling for remixing globally
- hookup polkit support


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 01:30:40 +00:00
Lennart Poettering
33c238b7ef ignore network sinks/sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1988 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-29 21:23:08 +00:00
Pierre Ossman
06211b7c8f Add copyright notices to all relevant files. (based on svn log)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13 15:35:19 +00:00
Pierre Ossman
521daf6f0a Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
mmmkay?


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 13:43:45 +00:00
Lennart Poettering
7f93d08d40 bump API and protocol version. Return PA_ERR_NOTSUPPORTED if pa_context_move_sink_input_by_*()is called for servers that don't support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1179 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-01 21:04:43 +00:00
Lennart Poettering
d7cdaf22a1 add two more \since
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1103 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-18 19:50:09 +00:00
Lennart Poettering
494fa68327 add new PA_SOURCE_HARDWARE/PA_SINK_HARDWARE flag
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1091 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-16 17:28:10 +00:00
Lennart Poettering
3cf1621433 * more s/pulseaudio/PulseAudio/ replacements
* name the per-user dir ~/.pulse (instead of .pulseaudio), just like /etc/pulse/


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1039 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 23:51:58 +00:00