Arun Raghavan
978d33b609
Mark shared variables as volatile
...
'n_waiting' and 'n_waiting_for_accept' may be accessed from mulitple
threads, and thus need to be marked as volatile to suppres certain
compiler optimisations. All uses are protected by a mutex, so we don't
need to worry about cache issues (added documentation for this as well).
This addresses bug #738 .
2009-12-06 11:51:17 +00:00
Tanu Kaskinen
4c793cfc76
libpulse: Store pa_stream pointers to hashmaps instead of dynarrays.
...
Since the stream identifiers (channels) are monotonically growing integer, it
isn't a good idea to use them as index to a dynamic array, because the array
will grow all the time. This is not a problem with client connections that
don't create many streams, but, for example, long-running clients that use
libcanberra for playing event sounds, this means that the client connection
effectively leaks memory.
2009-12-03 21:47:46 +00:00
Joe Marcus Clarke
5aa5c6c196
freebsd: implement pa_get_binary_name
...
Stolen from
http://www.freebsd.org/cgi/cvsweb.cgi/ports/audio/pulseaudio/files/patch-src_pulse_util.c?rev=1.1
and fixed for indentation.
2009-11-21 01:13:35 +01:00
Lennart Poettering
ba95b1939d
pulse: ask for timing updates both *before* and *after* triggering a stream state change so that in the STARTED/UNDERFLOW callbacks we accurate transport latency information
2009-11-20 19:55:47 +01:00
Lennart Poettering
f05ae357b6
pulse: delay smoother update only when unpausing, not when pausing, since we don't want the timer to advance when we are supposedly already paused
2009-11-20 19:48:08 +01:00
Lennart Poettering
a3b5a94488
pulse: try to fix inaccuracy with uncork timing for streams that are created in corked state
2009-11-20 17:49:30 +01:00
Colin Guthrie
dad36acea3
device-manager: Update docs version -> 0.9.20
...
Third time is a charm... maybe.
2009-11-11 17:24:57 +00:00
Colin Guthrie
9e45f198d0
device-manager: Update docs version -> 0.9.20
2009-11-09 21:57:07 +00:00
Vladimir Kokarev
d2c59354d5
volume: add pa_cvolume_inc_clamp function
...
added function to increase volume not exceeding specified limit
simply changed PA_VOLUME_MAX to 'limit' in pa_cvolume_inc
pa_cvolume_inc now calls pa_cvolume_inc_clamp with PA_VOLUME_MAX limit
2009-11-05 04:56:47 +01:00
Lennart Poettering
168be3830a
use pa_fopen_cloexec() where applicable
2009-10-30 04:54:19 +01:00
Lennart Poettering
65e7bc18a9
use cloexec wrappers wherever applicable
2009-10-30 03:32:38 +01:00
Lennart Poettering
f27a50691c
libpulse: introduce PA_STREAM_RELATIVE_VOLUME
2009-10-29 00:46:22 +01:00
Lennart Poettering
2501687579
libpulse: explain semantics of pa_stream_connect_playback() in more detail
2009-10-28 23:47:50 +01:00
Lennart Poettering
4538523a29
libpulse: introduce pa_context_get_tile_size() call
2009-10-28 23:26:48 +01:00
Lennart Poettering
c9375aa5e9
libpulse: add missing includes
2009-10-12 21:21:26 +02:00
Colin Guthrie
0ff2a6b434
device-manager: Rather than flagging the device as available, just include the sink/source index with PA_INVALID_INDEX meaning unavailable
2009-10-10 15:45:49 +01:00
Lennart Poettering
d0b478e9a6
Merge remote branch 'coling/history'
2009-10-07 03:46:06 +02:00
Tanu Kaskinen
019331d25b
Merge branch 'master' into dbus-work
...
Conflicts:
src/daemon/daemon-conf.c
2009-10-02 17:24:44 +03:00
Colin Guthrie
f9b2d6500b
device-manager: Change the prefer/defer options to a single 'reorder' command.
...
We put in the devices from the wire into a hashmap and then add all like type device in the database
and then order them based on priority (with the ones specified on the wire always being in that order at
the top of the list.
2009-10-01 09:08:32 +01:00
Colin Guthrie
8b2cc4def3
device-manager: Expose the priority lists in the protocol extension.
...
Also leave space for 'icon' and 'available' details too, althought currently this info is dummy.
2009-10-01 09:08:32 +01:00
Colin Guthrie
f8ec8f382f
device-manager: Change the write function to a rename function.
...
The structure itself will contain various bits of info so exposing this fully to the client is a bad idea.
By keeping to a rename operation we keep what we do store abstracted from the clients.
Also fix some doxy comments.
2009-10-01 09:08:29 +01:00
Colin Guthrie
aebe4787f2
device-manager: Provide a method for prefering/defering a device.
...
This allows clients to edit the priroity order. What is not yet in place is the initialisation of that priority list
when new devices are detected or the cleaning (remove holes) when devices are removed.
In order to keep the storage transparent I will likely remove the write functionality and replace it with a
simple rename method.
I also still need to expose the priority itself when reading the data.
2009-10-01 09:08:29 +01:00
Colin Guthrie
103897a1e3
device-manager: Provide a way for clients to enable/disable role-based device-priority routing.
...
The routing logic itself does not yet exist, but the command currently will unload/load module-stream-restore as approriate.
(module-stream-restore would conflict with the role-based priority-routing).
2009-10-01 09:08:29 +01:00
Colin Guthrie
9357bdf4e7
device-manager: Update docs version -> 0.9.19 (predicted)
2009-10-01 09:08:29 +01:00
Colin Guthrie
464e1a8986
device-manager: Fix copy+paste leftover
2009-10-01 09:08:29 +01:00
Colin Guthrie
37e82cec0a
device-manager: Add an untested protocol extension.
...
This is effectively copied from the stream restore extension.
2009-10-01 09:08:28 +01:00
Colin Guthrie
8f4940b17a
libpulse: Add *_NOFLAGS flags with value 0 for various enums
...
This avoids the need for ugly casting in client implementations.
2009-09-22 18:43:03 +01:00
Lennart Poettering
f84d755d6a
mainloop: fix detection of rt clocks
2009-09-18 22:16:25 +02:00
Lennart Poettering
d6291511a2
mainloop: pass monotonic times back to user if he passed monotonic times to us
2009-09-18 04:21:01 +02:00
Lennart Poettering
c024aeaae9
timeval: make timeval conversion routines handle PA_USEC_INVALID special
2009-09-18 04:14:39 +02:00
Lennart Poettering
a1da83b206
timeval: add UNLIKELY annotation
2009-09-18 04:14:38 +02:00
Lennart Poettering
05f6236a83
timeval: make pa_timeval_sub saturating
2009-09-18 04:14:38 +02:00
Lennart Poettering
f7d38965b3
timeval: introduce PA_USEC_MAX
2009-09-18 04:14:37 +02:00
Lennart Poettering
fb4a2a1bbb
mainloop: sum up dispatched events in an unsigned to clarify range
2009-09-18 04:14:37 +02:00
Lennart Poettering
18d69c5d9d
mainloop: use PA_LLIST_FOREACH macros where applicable
2009-09-18 04:14:37 +02:00
Lennart Poettering
b32f5994e9
mainloop: don't initialize fields we don't have to
2009-09-18 04:14:36 +02:00
Lennart Poettering
a049909a70
mainloop: calculate in pa_usec_t everywhere
2009-09-18 04:14:36 +02:00
Lennart Poettering
a43118b730
mainloop: properly convert time to wallclock time when handing it to the user
2009-09-18 04:14:36 +02:00
Lennart Poettering
94f28b9d4b
proplist: introduce PA_PROP_WINDOW_DESKTOP property
2009-09-17 02:22:41 +02:00
Lennart Poettering
cdbeac6b69
libpulse: as a special exception, don't require a non-NULL context in pa_context_errno
2009-09-17 01:37:23 +02:00
Lennart Poettering
6b8fdc4169
CANCELLED vs. CANCELED
...
Define CANCELLED as alias for CANCELED
2009-09-17 01:19:55 +02:00
Lennart Poettering
12f211105e
gccmacro: enable weakrefs only on ELF
2009-09-15 04:31:54 +02:00
Lennart Poettering
5919337433
proplist: define properties for storing window position
2009-09-11 02:16:17 +02:00
Lennart Poettering
42b795b408
doxygen: don't confuse doxygen with spurious ..
2009-09-11 01:49:55 +02:00
Lennart Poettering
4e3f7d5577
doxygen: add rtclock.h to documentation
2009-09-11 01:49:39 +02:00
Lennart Poettering
297f318206
doxygen: drop references to pacat.c and paplay.c as examples since tehy are not useful as such and in the case of paplay not even existant anymore
2009-09-11 01:49:16 +02:00
Lennart Poettering
54609675e5
libpulse: add new error code PA_ERR_BUSY
2009-09-11 01:20:45 +02:00
Lennart Poettering
12c7460e40
libpulse: don't support pa_context_get_card_info_list() on servers that cannot handle it
2009-09-10 02:16:00 +02:00
Lennart Poettering
05506d7dc2
utf8: minor simplification
2009-09-08 23:49:42 +02:00
Lennart Poettering
f5046759cd
llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixes
2009-09-08 23:46:23 +02:00