Lennart Poettering
9a95fe49c8
core: add assert macros for verifying calling context
...
This adds pa_assert_io_context() and pa_assert_ctl_context() in addition
to a few related macros. When called they will fail when the current execution
context is not IO resp. not control context. (aka 'thread' context vs.
'main' context)
2009-08-13 02:14:19 +02:00
Lennart Poettering
7d4916379b
ladspa/remap: make sure we process all requested rewinds unconditionally
...
In some situations a rewind request travelling downstream might be
optimized away on its way and an upstream rewind processing might never
come back. Hence, call _process_rewind() before each _render()just to
make sure we processed them all.
2009-08-07 23:58:45 +02:00
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