Commit graph

71 commits

Author SHA1 Message Date
Lennart Poettering
51b3899348 core: save volume/mute changes coming from the hardware automatically
Volume changes coming from the lower layers are most likely changes
triggered by the user, so let's save them automatically.
2009-08-07 23:55:06 +02:00
Lennart Poettering
39b37a2bac core: be a bit more verbose when registering a sink/source fails 2009-06-18 03:40:47 +02:00
Lennart Poettering
31575f7766 alsa: rework mixer logic
Completely rework mixer logic. This now allows controlling a full set of
elements from a single sink's volume slider/mute button.

This also introduces sink and source "ports" that can be used to choose
different input or output ports with the UI. (i.e. "mic"/"line-in" or
"speaker"/"headphones".

The mixer paths and device maps are now configered in external
configuration files and can be tweaked as necessary.
2009-06-17 03:45:14 +02:00
Lennart Poettering
f13bbd576f prop: introduce new PA_PROP_DEVICE_INTENDED_ROLES property 2009-06-08 16:58:45 +02:00
Lennart Poettering
587fc2ab1c core: make sure soft mute status stays in sync with hw mute status
This should close rhbz #494851, mandriva bz #51234.

Probably the same as our own #572, launchpad #352732.
2009-06-08 00:02:15 +02:00
Lennart Poettering
69eab1e057 core: suppress suspending/resume when we are already in the right state 2009-06-06 15:31:46 +02:00
Lennart Poettering
00797b8b6e core: add a suspend cause flags field 2009-06-05 19:05:07 +02:00
Lennart Poettering
7f767e5fe6 core: liberalize 99a6a4 a bit
While flags should generally be initialized by passing them to
pa_{sink|source}_new() we make an exception for the volume related flags
which may be initilized afterwards, but before _put().
2009-05-08 02:16:10 +02:00
Lennart Poettering
8d9c26e3b6 core: cache requested latency only when we are running, not while we are still constructing 2009-05-08 02:04:48 +02:00
Lennart Poettering
99a6a4742f core: make sure we fix up flags/monitor flags already in pa_sink_new() instead of pa_sink_put() 2009-05-08 02:04:48 +02:00
Lennart Poettering
3766850c8b core: introduce pa_{sink,source}_set_fixed_latency()
This allows us to forward the fixed latency directly from the sink to
the monitor source withut having to wait for pa_sink_put().
2009-05-08 02:04:48 +02:00
Lennart Poettering
f7c229d8f9 core: add a seperate fixed_latency field for sinks/sources with fixed latency 2009-04-10 01:26:04 +02:00
Lennart Poettering
9ae8ca2c37 core: memory leak, fix ref counting when moving streams 2009-04-10 01:21:16 +02:00
Lennart Poettering
61b07768c2 add suspend_within_thread() callbacks to pa_sink_input/pa_source_output 2009-04-07 00:46:20 +02:00
Lennart Poettering
ce73e715c9 introduce pa_{sink|source}_get_latency_within_thread() 2009-04-05 02:46:38 +02:00
Lennart Poettering
39576ec829 on monitor source be fine with any latency range set by the sink 2009-03-25 16:31:16 +01:00
Lennart Poettering
892a83945e simplify things and make sure timing setters can be called in most contexts 2009-03-25 00:33:35 +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
9bca59efc1 make pa_source_set_max_rewind() work similar to pa_sink_set_max_rewind() 2009-03-25 00:26:44 +01:00
Lennart Poettering
9151107cb9 get rid of 'default' min/max latencies, simplify things by just having absolute boundaries 2009-03-25 00:25:17 +01:00
Lennart Poettering
c64d8cbcc7 Allow calling pa_{sink|source}_update_proplist() without an actual proprlist 2009-03-24 21:17:55 +01:00
Lennart Poettering
aa92ff408c simplify latency range by not allowing stored 'wildcard' ranges anymore 2009-03-24 21:06:57 +01:00
Lennart Poettering
b3675c28fa add functions that modules can call whenever they now the volume changed 2009-03-21 02:45:31 +01:00
Lennart Poettering
341f44fa24 fix handling of _suspend_all(), return first failure error code 2009-03-04 05:32:26 +01:00
Lennart Poettering
ecbc320a4c make suspend state of monitor source follow the suspend state of the sink it belongs to 2009-03-04 05:32:19 +01:00
Lennart Poettering
bffa8be8cd Don't allow suspending of monitor sources.
Closes #499
2009-03-04 05:25:41 +01:00
Colin Guthrie
86dee05aec Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
Lennart Poettering
671b927955 add logic for initializing a useful icon name 2009-03-01 21:38:27 +01:00
Lennart Poettering
5f5396bb15 additional validity check 2009-02-19 03:59:04 +01:00
Lennart Poettering
1837a96e64 call _kill functions instead of _unlink since the latter should only be called be the stream implementor 2009-02-12 03:39:56 +01:00
Marc-André Lureau
86bec09fa8 pulsecore: add PA_CORE_HOOK_*_MOVE_FAIL
In case pa_*_move_all_fail(), it is nicer to let a module override the
default behavior to fallback on a different sink/source. (instead of
unlinking the sink_input/source_output)
2009-02-11 20:26:32 +02:00
Lennart Poettering
e47d03dea4 implement PA_STREAM_FAIL_ON_SUSPEND logic 2009-02-03 02:23:46 +01:00
Lennart Poettering
5fc11a0724 Fix a few sink/source calls when they are called in suspended state. 2009-02-02 00:45:00 +01:00
Lennart Poettering
dbb8951a41 dump properties when we create a new sink or source 2009-01-30 02:25:49 +01:00
Lennart Poettering
64b0543588 when changing volume, store whether it is worth remembering or no 2009-01-27 23:40:03 +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
640d317df9 add functions to move all inputs of a sink away/similar for source outputs 2009-01-23 22:40:02 +01:00
Lennart Poettering
0f7954a9f5 don't include full path in driver name. 2009-01-22 00:15:19 +01:00
Lennart Poettering
b6b0e07c31 fix copy/paste error 2009-01-21 01:52:10 +01:00
Lennart Poettering
47a2b17d01 make proplist inheritance scheme automatic and implicit 2009-01-15 20:27:07 +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
06de6393d1 don't rely on PA_SINK_RUNNING vs. PA_SINK_IDLE for optimizations since it might not be fully up to date 2009-01-15 00:07:38 +01:00
Marc-André Lureau
ebb903a376 core: add pa_source_update_proplist 2009-01-13 16:59:45 +02:00
Lennart Poettering
2ff20ceccb Rework handling of the PA_SINK_LATENCY/PA_SOURCE_LATENCY flags 2008-12-24 00:58:34 +01:00
Lennart Poettering
6130c5c11b Add "base volume" field to sinks/sources 2008-12-24 00:49:43 +01:00
Lennart Poettering
82f09b6d8f Don't hit an assert when checking for idleness
Closes #398
2008-12-17 21:03:17 +01:00
Lennart Poettering
adc2973c8d Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED 2008-10-26 19:32:04 +01:00
Lennart Poettering
450fe170a5 fix up latency before calling into stream code, to make sure we don't ask for too much data to early 2008-08-29 01:20:25 +02:00
Lennart Poettering
3ec4a5db99 rework volume/mute APIs: split out pa_xx_set_soft_volume() and add force_refresh argument to read functions 2008-08-13 13:55:58 +02:00
Lennart Poettering
f57b9153a8 fix a few more copy/paste errors 2008-08-05 14:26:43 +02:00