diff options
-rw-r--r-- | Alc/backends/oss.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Alc/backends/oss.c b/Alc/backends/oss.c index 33ea55eb..f99ca0d2 100644 --- a/Alc/backends/oss.c +++ b/Alc/backends/oss.c @@ -821,7 +821,11 @@ void ALCossBackendFactory_probe(ALCossBackendFactory* UNUSED(self), enum DevProb cur = &oss_playback; while(cur != NULL) { - AppendAllDevicesList(cur->handle); +#ifdef HAVE_STAT + struct stat buf; + if(stat(cur->path, &buf) == 0) +#endif + AppendAllDevicesList(cur->handle); cur = cur->next; } break; @@ -832,7 +836,11 @@ void ALCossBackendFactory_probe(ALCossBackendFactory* UNUSED(self), enum DevProb cur = &oss_capture; while(cur != NULL) { - AppendCaptureDeviceList(cur->handle); +#ifdef HAVE_STAT + struct stat buf; + if(stat(cur->path, &buf) == 0) +#endif + AppendCaptureDeviceList(cur->handle); cur = cur->next; } break; |