mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-11 13:30:02 -05:00
Completely rework ALSA device selection code: choose the device to open depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2050 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
f752882525
commit
d17bb53d3e
15 changed files with 350 additions and 122 deletions
|
|
@ -225,7 +225,7 @@ int pa_modargs_get_value_s32(pa_modargs *ma, const char *key, int32_t *value) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, int *value) {
|
||||
int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, pa_bool_t *value) {
|
||||
const char *v;
|
||||
int r;
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include <pulse/sample.h>
|
||||
#include <pulse/channelmap.h>
|
||||
#include <pulsecore/core.h>
|
||||
#include <pulsecore/macro.h>
|
||||
|
||||
typedef struct pa_modargs pa_modargs;
|
||||
|
||||
|
|
@ -44,7 +45,7 @@ const char *pa_modargs_get_value(pa_modargs *ma, const char *key, const char *de
|
|||
/* Return a module argument as unsigned 32bit value in *value */
|
||||
int pa_modargs_get_value_u32(pa_modargs *ma, const char *key, uint32_t *value);
|
||||
int pa_modargs_get_value_s32(pa_modargs *ma, const char *key, int32_t *value);
|
||||
int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, int *value);
|
||||
int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, pa_bool_t *value);
|
||||
|
||||
/* Return sample spec data from the three arguments "rate", "format" and "channels" */
|
||||
int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *ss);
|
||||
|
|
|
|||
|
|
@ -1406,7 +1406,7 @@ static void on_connection(pa_socket_server*s, pa_iochannel *io, void *userdata)
|
|||
|
||||
pa_protocol_esound* pa_protocol_esound_new(pa_core*core, pa_socket_server *server, pa_module *m, pa_modargs *ma) {
|
||||
pa_protocol_esound *p = NULL;
|
||||
int public = 0;
|
||||
pa_bool_t public = FALSE;
|
||||
const char *acl;
|
||||
|
||||
pa_assert(core);
|
||||
|
|
|
|||
|
|
@ -2956,7 +2956,7 @@ static int load_key(pa_protocol_native*p, const char*fn) {
|
|||
|
||||
static pa_protocol_native* protocol_new_internal(pa_core *c, pa_module *m, pa_modargs *ma) {
|
||||
pa_protocol_native *p;
|
||||
int public = 0;
|
||||
pa_bool_t public = FALSE;
|
||||
const char *acl;
|
||||
|
||||
pa_assert(c);
|
||||
|
|
@ -2976,7 +2976,7 @@ static pa_protocol_native* protocol_new_internal(pa_core *c, pa_module *m, pa_mo
|
|||
|
||||
#ifdef HAVE_CREDS
|
||||
{
|
||||
int a = 1;
|
||||
pa_bool_t a = 1;
|
||||
if (pa_modargs_get_value_boolean(ma, "auth-group-enabled", &a) < 0) {
|
||||
pa_log("auth-group-enabled= expects a boolean argument.");
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -566,7 +566,7 @@ fail:
|
|||
|
||||
pa_protocol_simple* pa_protocol_simple_new(pa_core *core, pa_socket_server *server, pa_module *m, pa_modargs *ma) {
|
||||
pa_protocol_simple* p = NULL;
|
||||
int enable;
|
||||
pa_bool_t enable;
|
||||
|
||||
pa_assert(core);
|
||||
pa_assert(server);
|
||||
|
|
@ -587,7 +587,7 @@ pa_protocol_simple* pa_protocol_simple_new(pa_core *core, pa_socket_server *serv
|
|||
p->source_name = pa_xstrdup(pa_modargs_get_value(ma, "source", NULL));
|
||||
p->sink_name = pa_xstrdup(pa_modargs_get_value(ma, "sink", NULL));
|
||||
|
||||
enable = 0;
|
||||
enable = FALSE;
|
||||
if (pa_modargs_get_value_boolean(ma, "record", &enable) < 0) {
|
||||
pa_log("record= expects a numeric argument.");
|
||||
goto fail;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue