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
zbt
897ef86b7f
Add volume ramping feature - sink modification
2009-08-05 20:10:47 +02:00
Lennart Poettering
8fe50b0d7c
alsa,core: include mapping name in description strings
2009-06-18 04:38:59 +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
e7a6d53118
core: replace tabs by spaces
2009-06-08 00:12:20 +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
Jyri Sarha
8eaea3aa64
optimization: Optimized pa_sink_render_full.
...
This is finally the latest version of the patch.
2009-06-07 02:06:44 +02:00
Lennart Poettering
d1646f78af
core: monitor sources need to inherit the suspend cause from their sinks
2009-06-06 15:32:45 +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
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