Commit graph

1038 commits

Author SHA1 Message Date
Lennart Poettering
ab5ac06ac7 Merge commit 'wtay/optimize' 2009-08-23 00:06:35 +02:00
Lennart Poettering
d6fb8d1081 udev: check busy status of alsa cards before loading alsa modules and hence initiating profile probing 2009-08-22 23:10:45 +02:00
Lennart Poettering
560da5b0a1 udev: process all inotify events queued up, not just the first one in the queue 2009-08-22 21:59:17 +02:00
Lennart Poettering
5b0683d6cd ladspa/remap: handle failing stream moves properly 2009-08-22 04:03:31 +02:00
Finn Thain
601fb63b01 Solaris: fixed latency (resent)
Set a fixed latency based on the given buffer size, which is constrained to
the 128 KB limit on buffered writes. Also fix an error path.
2009-08-22 00:59:33 +02:00
Finn Thain
87d2dded9b Solaris: use smoother (resent)
Make use of the smoother, just in case.
2009-08-22 00:59:23 +02:00
Finn Thain
44c7aa55e2 Solaris: build fixes (resent)
Fix bit rot due to recent flat volume changes.
2009-08-22 00:59:16 +02:00
Lennart Poettering
066e160bbd udev: tell inotify to actually inform us about ACL changes 2009-08-21 23:24:40 +02:00
Lennart Poettering
2d0120485c udev: watch for both ACL changes and processes closing devices 2009-08-21 22:49:23 +02:00
Lennart Poettering
4ec701aa21 udev: don't access string after free() 2009-08-21 22:11:38 +02:00
Lennart Poettering
d06680afe8 udev: always verify access before loading modules 2009-08-21 22:06:23 +02:00
Lennart Poettering
14c27c7ade gconf: use correct path for gconf-helper tool when running from build tree 2009-08-21 22:05:27 +02:00
Lennart Poettering
5317e35543 udev: when a device appears that we cannot access right-away try again later on inotify 2009-08-21 14:55:05 +02:00
Lennart Poettering
fe9a577cf2 alsa: leave headphone jack enabled in normal mixer paths 2009-08-21 03:45:58 +02:00
Lennart Poettering
ac05619141 combine: quieten gcc a bit 2009-08-21 03:45:17 +02:00
Lennart Poettering
8a2a6b2004 adjust various data/library paths automatically if we are run from a build tree 2009-08-21 03:43:53 +02:00
Lennart Poettering
a562978509 ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink 2009-08-21 02:59:26 +02:00
Wim Taymans
c1b6a87b27 alsa-sink: reduce the amount of smoother updates
Exponentially increase the amount of time between smoother updates. We start
with a 2ms interval and increase up to 200ms intervals.
Smoother updates and the resulting linear regression take a fair amount of CPU
so we want to reduce the amount of updates.
2009-08-20 13:40:27 +02:00
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