Commit graph

856 commits

Author SHA1 Message Date
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
2838b78e59 macro: extend comments a bit 2009-08-19 01:03:09 +02:00
Lennart Poettering
8f928b2e57 macro: simplify page/word alignment macros a bit 2009-08-17 19:17:10 +02:00
Lennart Poettering
fe3a21f6a5 macro: add PA_ROUND_UP/PA_ROUND_DOWN macros 2009-08-17 19:15:33 +02:00
Lennart Poettering
01e4b61a91 aupdate: implicitly call _write_swap() if it wasn't called explicitly 2009-08-16 02:02:51 +02:00
Lennart Poettering
8dd0d871a7 core: add to FIXMEs 2009-08-16 00:45:56 +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
011add1c83 thread-mq: do final q flush only when we aren't dispatching anyway 2009-08-15 22:23:42 +02:00
Lennart Poettering
0c20e740f6 asyncmsgq: introduce pa_asyncmsgq_dispatching() 2009-08-15 22:22:57 +02:00
Lennart Poettering
0c08dbd9b9 core: introduce pa_{sink|source}_update_flags() 2009-08-15 03:41:13 +02:00
Juho Hämäläinen
ea5cdcbe52 database: simple hashmap based database implementation 2009-08-15 02:07:00 +02:00
Lennart Poettering
d9e4605e09 hook-list: make use of PA_LLIST_FOREACH 2009-08-15 00:55:31 +02:00
Lennart Poettering
d7d86e32dd native-protocol: downgrade volume change log messages 2009-08-15 00:54:51 +02:00
Lennart Poettering
3c271ae060 core: document difference between IO and main thread view on requested latency 2009-08-15 00:54:25 +02:00
Lennart Poettering
c6080d8c61 core: don't update latency range if not changed 2009-08-15 00:54:02 +02:00
Lennart Poettering
3f9c67a7fb core: call pa_sink_get_latency_within_thread() instead of going directly via process_msg() 2009-08-15 00:52:50 +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
e4db56bf07 core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPEND 2009-08-15 00:12:53 +02:00
Lennart Poettering
e53d2fc6b5 native: handle moving() callback with NULL destination properly 2009-08-15 00:05:17 +02:00
Lennart Poettering
0989be13f6 core: introduce pa_{sink_input|source_output}_fail_move() 2009-08-15 00:03:50 +02:00
Lennart Poettering
72d2540e8d protocol-native: log explicitly each time a client triggers a volume change 2009-08-14 19:31:05 +02:00
Lennart Poettering
fecd0dc801 resampler: round up when estimating input/output sizes 2009-08-14 04:21:09 +02:00
Lennart Poettering
9e21182e01 thread-mq: never drop queued messages for the main loop
Previously we might have dropped messages from IO trheads to the main
thread. This tuend out to be problematic since this cause SHM release
messages to be lost. More visibly however this could cause playback
freezing when moving streams between sinks and removing the old sink
right away.
2009-08-14 04:18:28 +02:00
Lennart Poettering
446fb2c9fe asyncmsgq: add pa_asyncmsgq_flush() call 2009-08-14 04:17:48 +02:00
Lennart Poettering
a42c597f0a memblockq: add pa_memblockq_get_maxrewind() API 2009-08-14 04:16:28 +02:00
Lennart Poettering
b0cabfe16b shm: bump shm size limit to 1GB 2009-08-14 04:14:35 +02:00
Lennart Poettering
5ee4069e9e core: add functions to query max_rewind/max_request values from streams 2009-08-13 02:17:24 +02:00
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
17d57415f5 start-child: clean up child environment a bit better 2009-08-12 21:43:06 +02:00
Lennart Poettering
286ab2f193 memblock: rate limit 'Pool full' message 2009-08-12 21:40:38 +02:00
Lennart Poettering
ef176ecb62 core-util: move personality resetting into core-util 2009-08-12 21:36:52 +02:00
Lennart Poettering
8998cba683 conf: add pa_config_parse_not_bool() for parsing inverse boolean configuration options 2009-08-12 20:14:31 +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
ff52588c7b smoother: readd #ifdef protection 2009-08-05 03:52:15 +02:00
Lennart Poettering
277822053c autospawn: if creating the lock file fails, pass error code cleanly back to main process
This makes sure PA clients don't hang if $HOME is for some reason
unsuitable for autospawn lockfiles.

Closes #539
2009-08-01 03:10:19 +02:00
Lennart Poettering
49fd8ee72e core-util: replace remaining fixed size destination string functions by _malloc() versions
This helps portability to GNU/Hurd.

Patch originally from Samuel Thibault but modified.

Closes ticket #546
2009-08-01 02:03:22 +02:00
Lennart Poettering
c6ea9fecc9 core-util: rework pa_strlcpy() to not rely on strncpy()
strncpy() is very slow since it resets the entire destination buffer.
Replace usage of strncpy by memcpy().
2009-08-01 02:01:58 +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
5efb07281d alsa: throw timing data away after device resume 2009-07-24 20:13:52 +02:00
Lennart Poettering
5e24b6dff5 memblock: try to hit an assert earlier when ref counting doesn't work 2009-07-24 15:49:22 +02:00
Lennart Poettering
5a0ef5fd13 daemon: replace colons by dash in per-machine directory names for compat with weird filesystems 2009-07-23 19:12:53 +02:00
Lennart Poettering
88d5749f6a Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
Conflicts:
	src/daemon/main.c
2009-07-23 15:18:06 +02:00
Lennart Poettering
3d6278bc31 Merge commit 'flameeyes/osx' 2009-07-23 15:13:29 +02:00
Wim Taymans
3b01d3a53f protocol-native: use the right samplerate
The render_memblockq is expressed in the sample_spec of the sink, not of the
particular stream before resampling.
2009-07-23 13:57:42 +02:00
Lennart Poettering
0225ef68f2 memtrap: clarify that we are not interested in the return value of write() 2009-07-20 15:50:02 +01:00
Diego Elio 'Flameeyes' Pettenò
d18eb61bd2 Again make sure that the wait() definition is not shadowed.
Rename the parameter in pa_asyncmsgq_get() to wait_op.
2009-07-17 21:05:49 +02:00
Lennart Poettering
7dabe051cd memtrap: properly lock access to memtrap changer 2009-07-01 20:22:38 +02:00