Commit graph

145 commits

Author SHA1 Message Date
Lennart Poettering
00797b8b6e core: add a suspend cause flags field 2009-06-05 19:05:07 +02:00
Lennart Poettering
28069ef0f7 core: automatically add icons for headsets/headphones/speakers for devices 2009-05-13 01:00:39 +02:00
Jyri Sarha
35faedb6e8 core: Take samples from silence cache rather than write zeros
If the only stream to render from is muted take samples from the
silence cache. This should shrink memory/cache bandwidth. Again the
gain was not what I hoped for.
2009-05-09 00:06:47 +02:00
Jyri Sarha
d7b8947a5e core: optimize pa_sink_render_full()
I have used this fix for quite a while and I am pretty confident about
it. However, the performance gain was not what I expected.
2009-05-08 23:59:16 +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
fe8b10cc05 core: introduce new 'reference' volume for sinks
The reference volume is to be used as reference volume for stored stream
volumes. Previously if a new stream was created the relative volume was
taken relatively to the virtual device volume. Due to the flat volume
logic this could then be fed back to the virtual device volume.
Repeating the whole story over and over would result in a device volume
that would go lower, and lower and lower.

This patch introduces a 'reference' volume for each sink which stays
unmodified by stream volume changes even if flat volumes are used. It is
only modified if the sink volumes are modified directly by the user.

For further explanations see http://pulseaudio.org/wiki/InternalVolumes
2009-04-13 22:56:25 +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
c32c6c833e introduce relative_volume field in sink_input and make use of it on sink flat volume change 2009-04-08 03:49:16 +02:00
Lennart Poettering
c523b16d33 after propagating a sink volume change to the sink inputs recalculate their soft volumes 2009-04-07 04:47:58 +02:00
Lennart Poettering
93e14d3e62 we need to make our multiplications with linear values 2009-04-07 04:05:03 +02:00
Lennart Poettering
02686cce6d reduce number of conversions to/from linear volumes 2009-04-07 04:04:19 +02:00
Lennart Poettering
e356a03ab2 If the sink volume is lowered to 0 and then increased again, make sure all stream volumes follow instead of staying at 0 2009-04-07 01:21:07 +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
649c982222 Use pa_source_set_max_rewind_within_thread() for updating the monitor source's max_rewind 2009-03-30 20:19:32 +02:00
Lennart Poettering
2c1eaa7593 copy latency flags from sink to monitor source 2009-03-25 16:30:28 +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
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
2f9a784167 set request/rewind sizes only via accessor functions 2009-03-24 21:13:41 +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
4ebdee5b29 deduce a proper icon for TV sets 2009-03-19 12:38:59 +01:00
Lennart Poettering
6427c70a85 try more things to get a proper icon for sinks/sources 2009-03-04 18:37:14 +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
946d07211b document more closely from which context certain functions may be called 2009-03-04 02:51:30 +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
928920c8b8 additional validity check 2009-02-19 03:58:52 +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
Lennart Poettering
f0cc23d6e5 Merge commit 'elmarco/bt-wip' 2009-02-12 03:35:57 +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
de86c6e3ad add a 'volume factor' that is implicitly multiplied into the volume of a sink input without being visible to the outside 2009-02-05 01:22:05 +01:00
Lennart Poettering
162e43b306 make a few functions return void where the retval isn't used/never != 0 2009-02-03 03:11:31 +01:00
Lennart Poettering
e47d03dea4 implement PA_STREAM_FAIL_ON_SUSPEND logic 2009-02-03 02:23:46 +01:00
Lennart Poettering
2854afbb1b fix soft_mute handling 2009-02-02 01:51:27 +01:00
Lennart Poettering
537424a9a9 reset rewind_requested when we enter suspend mode 2009-02-02 00:46:11 +01:00
Lennart Poettering
a9e9ab32a2 shortcut pa_sink_process_rewind() when no rewind is happenning and none was requested 2009-02-02 00:45:54 +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
8fbce6eb89 when determining the minimum volume of all sink inputs make sure to handle the case when there are no sink inputs correctly 2009-02-02 00:27:47 +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