Index: soundserver/artsd.cc =================================================================== RCS file: /home/kde/kdelibs/arts/soundserver/artsd.cc,v retrieving revision 1.19 diff -b -u -p -r1.19 artsd.cc --- soundserver/artsd.cc 2000/08/11 03:19:54 1.19 +++ soundserver/artsd.cc 2000/08/26 19:19:50 @@ -166,6 +166,12 @@ int main(int argc, char **argv) if(cfgFragmentSize) AudioSubSystem::the()->fragmentSize(cfgFragmentSize); if(cfgFullDuplex) AudioSubSystem::the()->fullDuplex(cfgFullDuplex); + if(!AudioSubSystem::the()->check()) + { + cerr << "Can't open sound device -> exit" << endl; + exit(1); + } + /* start sound server implementation */ SimpleSoundServer server; AudioManager audioManager; Index: flow/audiosubsys.cc =================================================================== RCS file: /home/kde/kdelibs/arts/flow/audiosubsys.cc,v retrieving revision 1.20 diff -b -u -p -r1.20 audiosubsys.cc --- flow/audiosubsys.cc 2000/07/15 22:49:21 1.20 +++ flow/audiosubsys.cc 2000/08/26 19:19:52 @@ -175,6 +175,15 @@ bool AudioSubSystem::fullDuplex() } +bool AudioSubSystem::check() +{ + if(open() < 0) + return false; + + close(); + return true; +} + int AudioSubSystem::open() { #ifdef HAVE_SYS_SOUNDCARD_H Index: flow/audiosubsys.h =================================================================== RCS file: /home/kde/kdelibs/arts/flow/audiosubsys.h,v retrieving revision 1.9 diff -b -u -p -r1.9 audiosubsys.h --- flow/audiosubsys.h 2000/07/12 11:59:46 1.9 +++ flow/audiosubsys.h 2000/08/26 19:19:52 @@ -117,6 +117,8 @@ public: void fullDuplex(bool newFullDuplex); bool fullDuplex(); + bool check(); + int open(); const char *error();