Commit graph

1460 commits

Author SHA1 Message Date
Lennart Poettering
80d73dd21b implement typeafe hook chain
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1231 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 23:35:44 +00:00
Lennart Poettering
7f70ca31a1 extend maximum sink/source name length, because HAL UDIs can get ridiculously long
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1230 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 17:59:10 +00:00
Lennart Poettering
02e083cbc4 test if sink->monitor_source is set before making use of it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1228 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 17:06:39 +00:00
Lennart Poettering
b5207fc9ca add pa_sink_used_by()/pa_source_used_by()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1226 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 16:50:58 +00:00
Lennart Poettering
0547b0fd4a there's no need to queue subscription events if noone is listening, hence don't do it!
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1218 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 15:08:53 +00:00
Lennart Poettering
3aba099fc3 clean up event generation a little: suppress unnecessary events and generate new ones on owner change
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1212 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:19:36 +00:00
Lennart Poettering
47d009afd6 rework subscription code: try to drop redundant queued events
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1211 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:18:24 +00:00
Lennart Poettering
f8e5f47e23 fix a compiler warning
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1210 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:16:47 +00:00
Lennart Poettering
e9d9356d11 add new macro PA_LLIST_INSERT_AFTER
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1209 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:16:12 +00:00
Lennart Poettering
af1b0317f6 comment which values in pa_{sink,source,sink_input,source_output} structures may be NULL
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1204 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 23:31:59 +00:00
Lennart Poettering
c90dd53268 * introduce new functions pa_sink_set_description() and pa_source_set_description() for changing the description of a sink/source
* allow sinks without monitor sources attached


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1203 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 17:53:34 +00:00
Lennart Poettering
539612a5c2 do not export name validity checking routes and apply them only to sink/source names, not sample names
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1199 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 16:58:21 +00:00
Lennart Poettering
576c4dd96a rework name register a litle to only allow "valid" names.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1197 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 16:38:51 +00:00
Lennart Poettering
5fdc39dc26 wrap pa_source_output_move_to() in the native protocol
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1183 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-03 22:32:23 +00:00
Lennart Poettering
1c45061fe1 add new CLI command move-source-output as wrapper around pa_source_output_move_to()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1182 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-03 22:31:35 +00:00
Lennart Poettering
2d00de5851 Implement pa_source_input_move_to() for moving record streams between sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1181 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-03 22:30:45 +00:00
Lennart Poettering
ddc69fccb5 - don't call pa_sink_notify in pa_sink_input_new() because the virtual methods are not yet initialized at this time
- some minor cleanups


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1180 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-03 22:29:55 +00:00
Lennart Poettering
785477ba93 add new native protocol function for moving sink inputs between sinks
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1176 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-31 21:54:46 +00:00
Lennart Poettering
304fcbb843 add new commands opcode for moving sink inputs and source outputs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1175 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-31 21:54:20 +00:00
Lennart Poettering
ccf67d2988 deal properly with recursive module unloading
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1174 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-31 21:53:48 +00:00
Lennart Poettering
e2e94ca47c fix bad memory access if a non-existing entry shall be removed from a pa_idxset by index
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1173 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-31 21:53:21 +00:00
Lennart Poettering
a1e8b0968b add new CLI function "move-sink-input" as wrapper around pa_sink_input_move_to()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1169 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 15:07:15 +00:00
Lennart Poettering
5e9295037f * implement "hot" moving of playback streams between sinks (pa_sink_input_move_to()).
* optimize the adjusting of the volume in pa_sink_input_peek() a little


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1168 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 15:06:49 +00:00
Lennart Poettering
4dd3b31825 free the memblockq if we decide not to play it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1167 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 15:04:17 +00:00
Lennart Poettering
f15b4c7c70 if the memblockq is empty, return -1 in all cases
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1166 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 15:03:26 +00:00
Lennart Poettering
d1db037577 for the playing field of pa_timing_info use pa_sink_input::state == PA_SINK_INPUT_RUNNING. This means that this variable will now refer to the current state and not to the expected future state, which is probably more what clients expect.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1163 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-28 23:29:37 +00:00
Lennart Poettering
f1c46113ae fold the seperate variable pa_sink_input::playing into pa_sink_input::state as state PA_SINK_INPUT_DRAINED. The following mappings hold:
old PA_SINK_RUNNING + playing set = new PA_SINK_RUNNING
old PA_SINK_RUNNING + playing not set = new PA_SINK_DRAINED


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1162 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-28 23:27:16 +00:00
Lennart Poettering
12aa842174 introduce pa_play_memblockq() which creates a playback stream and passes the data from the memblockq to it. after that is done, frees the memblockq
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1161 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-28 22:52:28 +00:00
Lennart Poettering
0dea2237ed introduce three virtual sink/source names: @DEFAULT_SINK@, @DEFAULT_SOURCE@, @DEFAULT_MONITOR@. Especially the latter is useful for connecting to the monitor source of the default sink.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1158 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-27 18:02:59 +00:00
Lennart Poettering
216bdd4859 split a few asserts
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1147 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-25 20:10:47 +00:00
Lennart Poettering
32444f0df3 split a few assert()s
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1146 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-25 20:10:30 +00:00
Lennart Poettering
c85351ba05 as a result of memory profiling with valgrind/massif: decrease default hash table size from 1024 to 127. the hashtables are sparsely filled most of the time, so there is no point in allocating to much memory by default.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1140 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-23 22:35:30 +00:00
Pierre Ossman
09e01afa1f Get ACL:s to work on Win32.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1134 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 23:21:57 +00:00
Lennart Poettering
90b521d73e add missing #ifdef HAVE_CREDS (thanks, Flameeyes)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1130 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 22:46:41 +00:00
Lennart Poettering
2683f25b97 some more FreeBSD compat from Flameeyes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1129 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 22:44:38 +00:00
Lennart Poettering
44beeaa648 implement "auth-ip-acl=" in the native and esound protocols
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1125 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 18:43:20 +00:00
Lennart Poettering
30ada90fd2 add IP address ACL subsystem
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1123 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 16:48:26 +00:00
Lennart Poettering
0ff247db73 undo r1111 in some way: include sys/socket.h and sys/un.h but wrap it in #ifdef
HAVE_xxx_H. This should be safe because config.h should be the first included
header in all .c files and creds.h is never included by any external tools



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1115 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 00:52:44 +00:00
Pierre Ossman
a3e7595ac1 Make -1 mean "current group/user" so that some platform dependent calls
can be centralised.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1113 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 00:21:50 +00:00
Pierre Ossman
7ba93ebae2 Protect platform dependent headers with ifdefs.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1112 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 00:13:12 +00:00
Pierre Ossman
2ad69389d4 Remove unneeded headers.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1111 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 00:12:52 +00:00
Lennart Poettering
a382492204 * add new function pa_check_in_group()
* abstract credential APis a little bit by introducing HAVE_CREDS and a structure pa_creds
* rework credential authentication
* fix module-volume-restore and friends for usage in system-wide instance
* remove loopback= argument from moulde-*-protocol-tcp since it is a superset of listen= and usually a bad idea anyway since the user shouldn't load the TCP module at all if he doesn't want remote access
* rename a few variables in the jack modules to make sure they don't conflict with symbols defined in the system headers
* add server address for system-wide daemons to the default server list for the the client libs
* update todo


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1109 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-19 21:48:35 +00:00
Lennart Poettering
9c87a65ce9 * add new --system command line parameter to the daemon for running PulseAudio as system-wide instance
* add PA_ prefixes to all global #defines
* modify auth-by-creds: define a new group "pulse-access" which is used for authentication
* add proper privilige dropping when running in --system mode
* create runtime directory once on startup and not by each module seperately


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1105 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-19 17:44:19 +00:00
Lennart Poettering
64d87ac363 change licensing blurb form "Library GPL" to "Lesser GPL" on request of Loic Minier. Effectively this means using the same license blurb like in all other source files.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1099 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-17 21:20:31 +00:00
Pierre Ossman
f5afb7b6d0 Forgot to protect one access to with_creds with an ifdef.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1098 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-17 11:42:25 +00:00
Pierre Ossman
4b352e5fac Restore SIGPIPE warning when the platform doesn't have MSG_NOSIGNAL.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1097 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-17 11:26:29 +00:00
Lennart Poettering
494fa68327 add new PA_SOURCE_HARDWARE/PA_SINK_HARDWARE flag
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1091 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-16 17:28:10 +00:00
Lennart Poettering
6e38949039 add a new boolean variable is_hardware to pa_sink/pa_source to denote wether the specific device is a hardware device or virtual/software
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1090 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-16 17:26:55 +00:00
Lennart Poettering
fc544a63de don't send SCM_CREDENTIALS on every sendmsg(), instead do it only on handshake
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1085 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-14 23:00:57 +00:00
Lennart Poettering
3eeecdc790 don't set MSG_NOSIGNAL for recvmsg(), since it doesn't make sense there
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1084 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-14 23:00:20 +00:00