main(): wrap the device.setinfo() call around an exception handler.
It's possible to get a sunaudiodev.error (errno == EINVAL), although
I'm not exactly sure why, this at least won't crash the application.
diff --git a/Tools/audiopy/audiopy b/Tools/audiopy/audiopy
index 19d69fd..ba03a69 100755
--- a/Tools/audiopy/audiopy
+++ b/Tools/audiopy/audiopy
@@ -48,6 +48,7 @@
import sys
import os
import string
+import errno
import sunaudiodev
from SUNAUDIODEV import *
@@ -490,7 +491,12 @@
else:
usage(1, msg='Invalid option: ' + arg)
# now set the values
- device.setinfo(info)
+ try:
+ device.setinfo(info)
+ except sunaudiodev.error, (code, msg):
+ if code == errno.EINVAL:
+ pass
+ raise
device.close()