Commit graph

1120 commits

Author SHA1 Message Date
Lennart Poettering
7af3833b71 lirc: replace manual code by pa_cvolume_{inc|dec}() 2009-08-19 03:37:42 +02:00
Lennart Poettering
2f54798b1a mmkbd: replace manual code by pa_cvolume_{inc|dec}() 2009-08-19 03:37:29 +02:00
Lennart Poettering
8c31974f56 sink: volume handling rework, new flat volume logic
- We now implement a logic where the sink maintains two distinct
  volumes: the 'reference' volume which is shown to the users, and the
  'real' volume, which is configured to the hardware. The latter is
  configured to the max of all streams. Volume changes on sinks are
  propagated back to the streams proportional to the reference volume
  change. Volume changes on sink inputs are forwarded to the sink by
  'pushing' the volume if necessary.

  This renames the old 'virtual_volume' to 'real_volume'. The
  'reference_volume' is now the one exposed to users.

  By this logic the sink volume visible to the user, will always be the
  "upper" boundary for everything that is played. Saved/restored stream
  volumes are measured relative to this boundary, the factor here is
  always < 1.0.

- introduce accuracy for sink volumes, similar to the accuracy we
  already have for source volumes.

- other cleanups.
2009-08-19 02:55:02 +02:00
Lennart Poettering
5207e19142 match: document how broken the module-match logic is 2009-08-19 02:37:35 +02:00
Lennart Poettering
d6f598ab3e udev: allow passing of ignore_dB= parameter to alsa modules 2009-08-19 02:29:59 +02:00
Lennart Poettering
24e582808c source: rework volume handling
- drop the 'virtual_' prefix from s->virtual_volume since we don't
  distuingish between reference and real volumes for sources

- introduce an accuracy for source volumes: if the hardware can control
  the volume "close enough" don't necessarily adjust the rest in
  software unless it is beyond a certain threshold. This should save a
  little bit of CPU at the expensive of a bit of accuracy in volume
  handling.

- other minor cleanups
2009-08-19 01:35:43 +02:00
Lennart Poettering
a69b729414 voltest: extend test to verify correctness of _multiply() and _divide() 2009-08-19 01:02:32 +02:00
Lennart Poettering
2223a9f938 dbus: never return DBUS_HANDLER_RESULT_HANDLED in filter callbacks, since other callbacks might stell want to have the messages 2009-08-19 00:59:23 +02:00
Lennart Poettering
319d187972 bluetooth: fix match syntax 2009-08-17 19:14:35 +02:00
Lennart Poettering
90a07435d3 bluetooth: make NameOwnerChanged filter matches more focussed 2009-08-17 03:51:22 +02:00
Lennart Poettering
c579cb56e9 reserver: update from upstream git 2009-08-17 03:41:14 +02:00
Lennart Poettering
4c29ba9c33 modules: add various checks to avoid selecting objects that are not linked or in another unclear state 2009-08-16 00:45:23 +02:00
Lennart Poettering
2a39663ab6 bluetooth: move installation of mq's earlier to avoid context asserts to be triggered 2009-08-16 00:43:22 +02:00
Lennart Poettering
de4968cdde bluetooth: ask first for Headset and AudioSink properties, followed by Audio 2009-08-15 22:25:53 +02:00
Lennart Poettering
fa52a91b1a bluetooth: recognize only those BT devices that implement both the Audio and either AudioSink or Headset interfaces 2009-08-15 22:25:21 +02:00
Lennart Poettering
5c90cf2d6a bluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that _MAX anyway 2009-08-15 22:24:13 +02:00
Lennart Poettering
e5b08a81d2 ladspa/remap: sync latency flags from master sink when moving between sinks 2009-08-15 03:42:16 +02:00
Marc-André Lureau
3ecb80e19a bluetooth: fix typo with service_{read,write}_type 2009-08-15 02:43:36 +02:00
Marc-André Lureau
fd32fee448 bluetooth: don't call pa_sink_render with 0 bytes request 2009-08-15 02:42:56 +02:00
Maarten Bosmans
61105df13b combine: determine sample parameters of combined sink from underlying sinks
http://pulseaudio.org/ticket/521
2009-08-15 01:38:06 +02:00
Lennart Poettering
1eeddd84d2 combine: warn when the latency of a stream gets too high 2009-08-15 01:16:57 +02:00
Lennart Poettering
e1f3f5e0bf combine: big rework 2009-08-15 01:07:37 +02:00
Lennart Poettering
8947d65515 combine: drop adjust_timestamp variable because it is unused 2009-08-15 01:04:21 +02:00
Lennart Poettering
a5b2dee03c ladspa: name sink after human readable plugin name, not the id string 2009-08-15 01:02:16 +02:00
Lennart Poettering
763866280a module-ladspa: allow moving of sink, forward fixed latency 2009-08-15 01:01:52 +02:00
Lennart Poettering
1b3848ebd7 module-remap: allow moving of sink, forward fixed latency
This is a bigger change reworking a number of things:

- We now allow moving of the remap sink betwween backend sinks like any
  other stream.

- We forward the fixed latency parameter of the underlying sinks the
  same way as the dynamic latency.
2009-08-15 00:59:26 +02:00
Lennart Poettering
c44f518eb9 ladspa: move LADSPA_Data size check to compile time 2009-08-15 00:58:19 +02:00
Lennart Poettering
fb5205daac remap: unify argument order with other modules 2009-08-15 00:57:36 +02:00
Lennart Poettering
350a2bc846 core: make fixed latency dynamically changeable
This of course makes the name 'fixed' a bit of a misnomer. However the
definitions are now like this:

fixed latency: the latency may change during runtime, but is solely
controlled by the backend, the client has no influence.

dynamic latency: the latency may change during runtime, influenced by
the requests of the clients.

i.e. fixed vs. dynamic is from the perspective of the client.
2009-08-15 00:48:14 +02:00
Lennart Poettering
4eb59fb90e core: move rtpoll to thread_info sub structure 2009-08-15 00:26:00 +02:00
Lennart Poettering
58d441f7ea log: place more rate limit invocations 2009-08-15 00:16:25 +02:00
Lennart Poettering
fd1266c666 rescure-stream: handle failed moves as well as dying sinks/sources 2009-08-15 00:15:18 +02:00
Lennart Poettering
7891f964e4 module-stream-restore: don't fiddle with sinks/sources/streams that are not fully set up yet 2009-08-14 23:55:32 +02:00
Lennart Poettering
e8340345f6 alsa: enable ext. amplifier by default 2009-08-12 00:56:10 +02:00
Lennart Poettering
462cdf44b7 alsa: adjust priority bonus of mappings that match the configured default channel map
We need to make sure that having both input and output weighs more for
selecting the default profile than a channel map that matches the
default channel map has.

https://bugzilla.redhat.com/show_bug.cgi?id=496320
2009-08-12 00:53:38 +02:00
Lennart Poettering
d27e26dca0 volume-restore: forward module load return value of stream-restore back to caller 2009-08-11 23:19:28 +02:00
Lennart Poettering
c117febbe4 hal: replace subdevs= parameter by subdevices= parameter
Abbreviating tsched like this was bad enough, so let's not add another
option here.
2009-08-11 23:18:01 +02:00
Lennart Poettering
c904f97e2d hal: add stub module that loads module-udev-detect instead of module-hal-detect
This adds module-hal-detect-compat.c which when enabled will be compiled
into a module module-hal-detect which simply loads module-udev-detect.

The purpose of this is to allow easy upgrading without breaking
default.pa. Distributions are recommended to enable this to easy
upgrades from HAL versions of PA to udev versions.
2009-08-11 23:04:35 +02:00
Diego Elio 'Flameeyes' Pettenò
4c15115007 Split OSS support in output and wrapper.
Since Fedora does not enable OSS output support at all, but still uses
padsp, and in Gentoo we could also make use of padsp without OSS output
support, split the two things in two parameters, although they both check
for sys/soundcard.h once.
2009-08-08 01:53:15 +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
9b2534b6d0 alsa: properly treat ESTRPIPE as system suspend 2009-08-04 00:23:43 +02:00
Lubomir Rintel
34f31f666e Recover stream when it's suspended upon rewind
Error from snd_pcm_rewind() might mean we just woke up from suspend and
didn't have a chance to try to recover the stream since we didn't write
to it in between. Call try_recover() in such cases.

Note that for this to work kernel must return ESTRPIPE instead of EBADF
for rewind/forward attempts on suspended streams, so that
snd_pcm_recover() can recognize it should snd_pcm_resume() the stream.
This is not the case yet (2.6.31-rc5), patch is available.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
2009-08-03 22:47:15 +02:00
Lennart Poettering
e5c2256e36 pipe: replace PIPE_BUF macro pa pa_pipe_buf call
This should help portability to platforms that lack PIPE_BUF. Based on a
patch from Samuel Thibault.

See ticket #546
2009-08-01 01:59:58 +02:00
Lennart Poettering
0113e7282c hal: add option to initialize all subdevices of an OSS device
Patch from 'cmt', closes ticket #544
2009-07-31 23:13:21 +02:00
Lennart Poettering
39aa1cf94d alsa: revert to first set number of periods, then set buffer size
Apparently some ALSA drivers aren't happy with getting the buffer size
configured first followed the period size. So swap the order again and
document this for future reference so that we don't turn that around
again.
2009-07-31 02:07:24 +02:00
Lennart Poettering
c14f6c179f tunnel: don't assert on misaligned reads, closes #597 and rhbz #496310 2009-07-31 00:50:19 +02:00
Lennart Poettering
5efb07281d alsa: throw timing data away after device resume 2009-07-24 20:13:52 +02:00
Lennart Poettering
2bbdf631f8 udev: explain what happened when inotify_add_watch() returned ENOSPC, rhbz #513571 2009-07-24 13:58:22 +02:00
Lennart Poettering
18433c19b6 alsa: handle correctly if alsa returns us 0 or EAGAIN on snd_pcm_mmap_begin if we didn't call snd_pcm_avail immediately before 2009-07-24 13:45:59 +02:00