aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
Diffstat (limited to 'Alc')
-rw-r--r--Alc/oss.c30
-rw-r--r--Alc/solaris.c9
2 files changed, 33 insertions, 6 deletions
diff --git a/Alc/oss.c b/Alc/oss.c
index d0dbff80..ec45093a 100644
--- a/Alc/oss.c
+++ b/Alc/oss.c
@@ -169,7 +169,8 @@ static ALCboolean oss_open_playback(ALCdevice *device, const ALCchar *deviceName
if(data->fd == -1)
{
free(data);
- AL_PRINT("Could not open %s: %s\n", driver, strerror(errno));
+ if(errno != ENOENT)
+ AL_PRINT("Could not open %s: %s\n", driver, strerror(errno));
return ALC_FALSE;
}
@@ -336,7 +337,8 @@ static ALCboolean oss_open_capture(ALCdevice *device, const ALCchar *deviceName)
if(data->fd == -1)
{
free(data);
- AL_PRINT("Could not open %s: %s\n", driver, strerror(errno));
+ if(errno != ENOENT)
+ AL_PRINT("Could not open %s: %s\n", driver, strerror(errno));
return ALC_FALSE;
}
@@ -492,9 +494,27 @@ void alc_oss_deinit(void)
void alc_oss_probe(int type)
{
if(type == DEVICE_PROBE)
- AppendDeviceList(oss_device);
+ {
+#ifdef HAVE_STAT
+ struct stat buf;
+ if(stat(GetConfigValue("oss", "device", "/dev/dsp"), &buf) == 0)
+#endif
+ AppendDeviceList(oss_device);
+ }
else if(type == ALL_DEVICE_PROBE)
- AppendAllDeviceList(oss_device);
+ {
+#ifdef HAVE_STAT
+ struct stat buf;
+ if(stat(GetConfigValue("oss", "device", "/dev/dsp"), &buf) == 0)
+#endif
+ AppendAllDeviceList(oss_device);
+ }
else if(type == CAPTURE_DEVICE_PROBE)
- AppendCaptureDeviceList(oss_device_capture);
+ {
+#ifdef HAVE_STAT
+ struct stat buf;
+ if(stat(GetConfigValue("oss", "capture", "/dev/dsp"), &buf) == 0)
+#endif
+ AppendCaptureDeviceList(oss_device_capture);
+ }
}
diff --git a/Alc/solaris.c b/Alc/solaris.c
index 4504a680..9cb4092a 100644
--- a/Alc/solaris.c
+++ b/Alc/solaris.c
@@ -112,7 +112,8 @@ static ALCboolean solaris_open_playback(ALCdevice *device, const ALCchar *device
if(data->fd == -1)
{
free(data);
- AL_PRINT("Could not open %s: %s\n", driver, strerror(errno));
+ if(errno != ENOENT)
+ AL_PRINT("Could not open %s: %s\n", driver, strerror(errno));
return ALC_FALSE;
}
@@ -291,6 +292,12 @@ void alc_solaris_deinit(void)
void alc_solaris_probe(ALCboolean capture)
{
+#ifdef HAVE_STAT
+ struct stat buf;
+ if(stat(GetConfigValue("solaris", "device", "/dev/audio"), &buf) != 0)
+ return;
+#endif
+
if(type == DEVICE_PROBE)
AppendDeviceList(solaris_device);
else if(type == ALL_DEVICE_PROBE)