~diwic/ubuntu/lucid/pulseaudio/bugfixes

« back to all changes in this revision

Viewing changes to src/pulsecore/pdispatch.c

  • Committer: Bazaar Package Importer
  • Author(s): Luke Yelavich
  • Date: 2009-05-05 14:18:20 UTC
  • mfrom: (1.2.4 upstream) (1.1.8 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090505141820-rrr2mtdd1jkllvr8
Tags: 1:0.9.15-1ubuntu1
* Merge from unreleased Debian pulseaudio git, remaining changes:
  - epoch (my stupid fault :S)
  - Don't build against, and create jack package. Jack is not in main
  - use linear resampler to work better with lack of PREEMPT in jaunty's
    -generic kernel config, also change buffer size
  - Add alsa configuration files to route alsa applications via pulseaudio
  - Move libasound2-plugins from Recommends to Depends
  - Add pm-utils sleep hook to suspend (and resume) users' pulseaudio
    daemons
  - patch to fix source/sink and suspend-on-idle race
  - Make initscript more informative in the default case of per-user
    sessions
  - create /var/run/pulse, and make restart more robust
  - add status check for system wide pulseaudio instance
  - LSB {Required-*,Should-*} should specify hal instead of dbus,
    since hal is required (and already requires dbus)
  - indicate that the system pulseaudio instance is being started from the init
    script
  - Install more upstream man pages
  - Link to pacat for parec man page
  - check whether pulseaudio is running before preloading the padsp library
  - Add DEB_OPT_FLAG = -O3 as per recommendation from
    pulseaudio-discuss/2007-December/001017.html
  - cache /usr/share/sounds/ubuntu/stereo/ wav files on pulseaudio load
  - disable glitch free (use tsched=0)
  - Generate a PO template on build
  - add special case to disable pulseaudio loading if accessibility/speech
    is being used
  - the sd wrapper script should not load pulseaudio if pulseaudio is being
    used as a system service
  - add a pulseaudio apport hook
  - fix some typos in README.Debian
  - demote paprefs to suggests
  - drop padevchooser(Recommends) and pavucontrol (Suggests)
  - drop libasyncns-dev build dependency, its in universe
* add libudev-dev as a build-dependency

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
 
41
41
#include "pdispatch.h"
42
42
 
43
 
/*#define DEBUG_OPCODES */
 
43
/* #define DEBUG_OPCODES */
44
44
 
45
45
#ifdef DEBUG_OPCODES
46
46
 
47
47
static const char *command_names[PA_COMMAND_MAX] = {
 
48
    /* Generic commands */
48
49
    [PA_COMMAND_ERROR] = "ERROR",
49
50
    [PA_COMMAND_TIMEOUT] = "TIMEOUT",
50
51
    [PA_COMMAND_REPLY] = "REPLY",
 
52
 
 
53
    /* CLIENT->SERVER */
51
54
    [PA_COMMAND_CREATE_PLAYBACK_STREAM] = "CREATE_PLAYBACK_STREAM",
52
55
    [PA_COMMAND_DELETE_PLAYBACK_STREAM] = "DELETE_PLAYBACK_STREAM",
53
56
    [PA_COMMAND_CREATE_RECORD_STREAM] = "CREATE_RECORD_STREAM",
54
57
    [PA_COMMAND_DELETE_RECORD_STREAM] = "DELETE_RECORD_STREAM",
55
58
    [PA_COMMAND_AUTH] = "AUTH",
56
 
    [PA_COMMAND_REQUEST] = "REQUEST",
57
59
    [PA_COMMAND_EXIT] = "EXIT",
58
60
    [PA_COMMAND_SET_CLIENT_NAME] = "SET_CLIENT_NAME",
59
61
    [PA_COMMAND_LOOKUP_SINK] = "LOOKUP_SINK",
60
62
    [PA_COMMAND_LOOKUP_SOURCE] = "LOOKUP_SOURCE",
61
63
    [PA_COMMAND_DRAIN_PLAYBACK_STREAM] = "DRAIN_PLAYBACK_STREAM",
62
 
    [PA_COMMAND_PLAYBACK_STREAM_KILLED] = "PLAYBACK_STREAM_KILLED",
63
 
    [PA_COMMAND_RECORD_STREAM_KILLED] = "RECORD_STREAM_KILLED",
64
64
    [PA_COMMAND_STAT] = "STAT",
65
 
    [PA_COMMAND_GET_PLAYBACK_LATENCY] = "PLAYBACK_LATENCY",
 
65
    [PA_COMMAND_GET_PLAYBACK_LATENCY] = "GET_PLAYBACK_LATENCY",
66
66
    [PA_COMMAND_CREATE_UPLOAD_STREAM] = "CREATE_UPLOAD_STREAM",
67
67
    [PA_COMMAND_DELETE_UPLOAD_STREAM] = "DELETE_UPLOAD_STREAM",
68
68
    [PA_COMMAND_FINISH_UPLOAD_STREAM] = "FINISH_UPLOAD_STREAM",
69
69
    [PA_COMMAND_PLAY_SAMPLE] = "PLAY_SAMPLE",
70
70
    [PA_COMMAND_REMOVE_SAMPLE] = "REMOVE_SAMPLE",
 
71
 
71
72
    [PA_COMMAND_GET_SERVER_INFO] = "GET_SERVER_INFO",
72
73
    [PA_COMMAND_GET_SINK_INFO] = "GET_SINK_INFO",
73
74
    [PA_COMMAND_GET_SINK_INFO_LIST] = "GET_SINK_INFO_LIST",
84
85
    [PA_COMMAND_GET_SOURCE_OUTPUT_INFO] = "GET_SOURCE_OUTPUT_INFO",
85
86
    [PA_COMMAND_GET_SOURCE_OUTPUT_INFO_LIST] = "GET_SOURCE_OUTPUT_INFO_LIST",
86
87
    [PA_COMMAND_SUBSCRIBE] = "SUBSCRIBE",
87
 
    [PA_COMMAND_SUBSCRIBE_EVENT] = "SUBSCRIBE_EVENT",
 
88
 
88
89
    [PA_COMMAND_SET_SINK_VOLUME] = "SET_SINK_VOLUME",
89
90
    [PA_COMMAND_SET_SINK_INPUT_VOLUME] = "SET_SINK_INPUT_VOLUME",
90
91
    [PA_COMMAND_SET_SOURCE_VOLUME] = "SET_SOURCE_VOLME",
 
92
 
 
93
    [PA_COMMAND_SET_SINK_MUTE] = "SET_SINK_MUTE",
 
94
    [PA_COMMAND_SET_SOURCE_MUTE] = "SET_SOURCE_MUTE",
 
95
 
91
96
    [PA_COMMAND_TRIGGER_PLAYBACK_STREAM] = "TRIGGER_PLAYBACK_STREAM",
92
97
    [PA_COMMAND_FLUSH_PLAYBACK_STREAM] = "FLUSH_PLAYBACK_STREAM",
93
98
    [PA_COMMAND_CORK_PLAYBACK_STREAM] = "CORK_PLAYBACK_STREAM",
94
 
    [PA_COMMAND_GET_AUTOLOAD_INFO] = "GET_AUTOLOAD_INFO",
95
 
    [PA_COMMAND_GET_AUTOLOAD_INFO_LIST] = "GET_AUTOLOAD_INFO_LIST",
 
99
 
 
100
    [PA_COMMAND_SET_DEFAULT_SINK] = "SET_DEFAULT_SINK",
 
101
    [PA_COMMAND_SET_DEFAULT_SOURCE] = "SET_DEFAULT_SOURCE",
 
102
 
 
103
    [PA_COMMAND_SET_PLAYBACK_STREAM_NAME] = "SET_PLAYBACK_STREAM_NAME",
 
104
    [PA_COMMAND_SET_RECORD_STREAM_NAME] = "SET_RECORD_STREAM_NAME",
 
105
 
 
106
    [PA_COMMAND_KILL_CLIENT] = "KILL_CLIENT",
 
107
    [PA_COMMAND_KILL_SINK_INPUT] = "KILL_SINK_INPUT",
 
108
    [PA_COMMAND_KILL_SOURCE_OUTPUT] = "SOURCE_OUTPUT",
 
109
 
 
110
    [PA_COMMAND_LOAD_MODULE] = "LOAD_MODULE",
 
111
    [PA_COMMAND_UNLOAD_MODULE] = "UNLOAD_MODULE",
 
112
 
 
113
    [PA_COMMAND_ADD_AUTOLOAD___OBSOLETE] = "ADD_AUTOLOAD (obsolete)",
 
114
    [PA_COMMAND_REMOVE_AUTOLOAD___OBSOLETE] = "REMOVE_AUTOLOAD (obsolete)",
 
115
    [PA_COMMAND_GET_AUTOLOAD_INFO___OBSOLETE] = "GET_AUTOLOAD_INFO (obsolete)",
 
116
    [PA_COMMAND_GET_AUTOLOAD_INFO_LIST___OBSOLETE] = "GET_AUTOLOAD_INFO_LIST (obsolete)",
 
117
 
 
118
    [PA_COMMAND_GET_RECORD_LATENCY] = "GET_RECORD_LATENCY",
 
119
    [PA_COMMAND_CORK_RECORD_STREAM] = "CORK_RECORD_STREAM",
 
120
    [PA_COMMAND_FLUSH_RECORD_STREAM] = "FLUSH_RECORD_STREAM",
 
121
    [PA_COMMAND_PREBUF_PLAYBACK_STREAM] = "PREBUF_PLAYBACK_STREAM",
 
122
 
 
123
    /* SERVER->CLIENT */
 
124
    [PA_COMMAND_REQUEST] = "REQUEST",
 
125
    [PA_COMMAND_OVERFLOW] = "OVERFLOW",
 
126
    [PA_COMMAND_UNDERFLOW] = "UNDERFLOW",
 
127
    [PA_COMMAND_PLAYBACK_STREAM_KILLED] = "PLAYBACK_STREAM_KILLED",
 
128
    [PA_COMMAND_RECORD_STREAM_KILLED] = "RECORD_STREAM_KILLED",
 
129
    [PA_COMMAND_SUBSCRIBE_EVENT] = "SUBSCRIBE_EVENT",
 
130
 
 
131
    /* A few more client->server commands */
 
132
 
 
133
    /* Supported since protocol v10 (0.9.5) */
 
134
    [PA_COMMAND_MOVE_SINK_INPUT] = "MOVE_SINK_INPUT",
 
135
    [PA_COMMAND_MOVE_SOURCE_OUTPUT] = "MOVE_SOURCE_OUTPUT",
 
136
 
 
137
    /* Supported since protocol v11 (0.9.7) */
 
138
    [PA_COMMAND_SET_SINK_INPUT_MUTE] = "SET_SINK_INPUT_MUTE",
 
139
 
 
140
    [PA_COMMAND_SUSPEND_SINK] = "SUSPEND_SINK",
 
141
    [PA_COMMAND_SUSPEND_SOURCE] = "SUSPEND_SOURCE",
 
142
 
 
143
    /* Supported since protocol v12 (0.9.8) */
 
144
    [PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR] = "SET_PLAYBACK_STREAM_BUFFER_ATTR",
 
145
    [PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR] = "SET_RECORD_STREAM_BUFFER_ATTR",
 
146
 
 
147
    [PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE] = "UPDATE_PLAYBACK_STREAM_SAMPLE_RATE",
 
148
    [PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE] = "UPDATE_RECORD_STREAM_SAMPLE_RATE",
 
149
 
 
150
    /* SERVER->CLIENT */
 
151
    [PA_COMMAND_PLAYBACK_STREAM_SUSPENDED] = "PLAYBACK_STREAM_SUSPENDED",
 
152
    [PA_COMMAND_RECORD_STREAM_SUSPENDED] = "RECORD_STREAM_SUSPENDED",
 
153
    [PA_COMMAND_PLAYBACK_STREAM_MOVED] = "PLAYBACK_STREAM_MOVED",
 
154
    [PA_COMMAND_RECORD_STREAM_MOVED] = "RECORD_STREAM_MOVED",
 
155
 
 
156
    /* Supported since protocol v13 (0.9.11) */
 
157
    [PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST] = "UPDATE_RECORD_STREAM_PROPLIST",
 
158
    [PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST] = "UPDATE_RECORD_STREAM_PROPLIST",
 
159
    [PA_COMMAND_UPDATE_CLIENT_PROPLIST] = "UPDATE_CLIENT_PROPLIST",
 
160
    [PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST] = "REMOVE_RECORD_STREAM_PROPLIST",
 
161
    [PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST] = "REMOVE_PLAYBACK_STREAM_PROPLIST",
 
162
    [PA_COMMAND_REMOVE_CLIENT_PROPLIST] = "REMOVE_CLIENT_PROPLIST",
 
163
 
 
164
    /* SERVER->CLIENT */
 
165
    [PA_COMMAND_STARTED] = "STARTED",
 
166
 
 
167
    /* Supported since protocol v14 (0.9.12) */
 
168
    [PA_COMMAND_EXTENSION] = "EXTENSION",
 
169
 
 
170
 
 
171
    [PA_COMMAND_GET_CARD_INFO] = "GET_CARD_INFO",
 
172
    [PA_COMMAND_GET_CARD_INFO_LIST] = "GET_CARD_INFO_LIST",
 
173
    [PA_COMMAND_SET_CARD_PROFILE] = "SET_CARD_PROFILE",
 
174
 
 
175
    [PA_COMMAND_CLIENT_EVENT] = "GET_CLIENT_EVENT",
 
176
    [PA_COMMAND_PLAYBACK_STREAM_EVENT] = "PLAYBACK_STREAM_EVENT",
 
177
    [PA_COMMAND_RECORD_STREAM_EVENT] = "RECORD_STREAM_EVENT",
 
178
 
 
179
    /* SERVER->CLIENT */
 
180
    [PA_COMMAND_PLAYBACK_BUFFER_ATTR_CHANGED] = "PLAYBACK_BUFFER_ATTR_CHANGED",
 
181
    [PA_COMMAND_RECORD_BUFFER_ATTR_CHANGED] = "RECORD_BUFFER_ATTR_CHANGED"
96
182
};
97
183
 
98
184
#endif
213
299
#ifdef DEBUG_OPCODES
214
300
{
215
301
    char t[256];
216
 
    char const *p;
217
 
    if (!(p = command_names[command]))
 
302
    char const *p = NULL;
 
303
 
 
304
    if (command >= PA_COMMAND_MAX || !(p = command_names[command]))
218
305
        pa_snprintf((char*) (p = t), sizeof(t), "%u", command);
219
306
 
220
 
    pa_log("Recieved opcode <%s>", p);
 
307
    pa_log("[%p] Recieved opcode <%s>", pd, p);
221
308
}
222
309
#endif
223
310