diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-07-18 19:19:52 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-07-18 19:19:52 +0000 |
commit | f4ec7d47fd15465b86056266983f8d15ce5b8d68 (patch) | |
tree | 5580989e4c0ef3425f38c27eced550b0c8e55281 /src/modules/module-detect.c | |
parent | 2c2abbb1698c6fa0607d4db2a20efce141a0f8c5 (diff) |
fix module-detect on FreeBSD (patch from Diego "Flameeyes" Pettenó)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1102 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules/module-detect.c')
-rw-r--r-- | src/modules/module-detect.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/src/modules/module-detect.c b/src/modules/module-detect.c index 3e4d2bf6..ebafa10d 100644 --- a/src/modules/module-detect.c +++ b/src/modules/module-detect.c @@ -135,23 +135,29 @@ static int detect_oss(pa_core *c, int just_one) { line[strcspn(line, "\r\n")] = 0; if (!b) { - b = strcmp(line, "Audio devices:") == 0; + b = strcmp(line, "Audio devices:") == 0 || strcmp(line, "Installed devices:") == 0; continue; } if (line[0] == 0) break; - if (sscanf(line, "%u: ", &device) != 1) - continue; - - if (device == 0) - snprintf(args, sizeof(args), "device=/dev/dsp"); - else - snprintf(args, sizeof(args), "device=/dev/dsp%u", device); - - if (!pa_module_load(c, "module-oss", args)) - continue; + if (sscanf(line, "%u: ", &device) == 1) { + if (device == 0) + snprintf(args, sizeof(args), "device=/dev/dsp"); + else + snprintf(args, sizeof(args), "device=/dev/dsp%u", device); + + if (!pa_module_load(c, "module-oss", args)) + continue; + + } else if (sscanf(line, "pcm%u: ", &device) == 1) { + /* FreeBSD support, the devices are named /dev/dsp0.0, dsp0.1 and so on */ + snprintf(args, sizeof(args), "device=/dev/dsp%u.0", device); + + if (!pa_module_load(c, "module-oss", args)) + continue; + } n++; |