277 |
} |
} |
278 |
|
|
279 |
BOOL |
BOOL |
|
rdpsnd_init(void) |
|
|
{ |
|
|
rdpsnd_channel = |
|
|
channel_register("rdpsnd", CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP, |
|
|
rdpsnd_process); |
|
|
|
|
|
return (rdpsnd_channel != NULL); |
|
|
} |
|
|
|
|
|
BOOL |
|
280 |
rdpsnd_auto_open(void) |
rdpsnd_auto_open(void) |
281 |
{ |
{ |
282 |
static BOOL failed = False; |
static BOOL failed = False; |
337 |
} |
} |
338 |
|
|
339 |
BOOL |
BOOL |
340 |
rdpsnd_select_driver(char *driver, char *options) |
rdpsnd_init(char *optarg) |
341 |
{ |
{ |
342 |
static struct audio_driver auto_driver; |
static struct audio_driver auto_driver; |
343 |
struct audio_driver *pos; |
struct audio_driver *pos; |
344 |
|
char *driver = NULL, *options = NULL; |
345 |
|
|
346 |
drivers = NULL; |
drivers = NULL; |
347 |
|
|
348 |
|
rdpsnd_channel = |
349 |
|
channel_register("rdpsnd", CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP, |
350 |
|
rdpsnd_process); |
351 |
|
|
352 |
|
if (rdpsnd_channel == NULL) |
353 |
|
{ |
354 |
|
error("channel_register\n"); |
355 |
|
return False; |
356 |
|
} |
357 |
|
|
358 |
|
if (optarg != NULL && strlen(optarg) > 0) |
359 |
|
{ |
360 |
|
driver = options = optarg; |
361 |
|
|
362 |
|
while (*options != '\0' && *options != ':') |
363 |
|
options++; |
364 |
|
|
365 |
|
if (*options == ':') |
366 |
|
{ |
367 |
|
*options = '\0'; |
368 |
|
options++; |
369 |
|
} |
370 |
|
|
371 |
|
if (*options == '\0') |
372 |
|
options = NULL; |
373 |
|
} |
374 |
|
|
375 |
rdpsnd_register_drivers(options); |
rdpsnd_register_drivers(options); |
376 |
|
|
377 |
if (!driver) |
if (!driver) |