summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-08-12 03:19:19 +0000
committerMark Spencer <markster@digium.com>2004-08-12 03:19:19 +0000
commitbe2d39a1a518514c493bf2f12a0db9b180012328 (patch)
tree8b84f2cf331145a921476ecd0bb42d310cf70b25
parentcbe0264949cad3592b32a52dccf2938954edd770 (diff)
Fix duplex code for FreeBSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xchannels/chan_oss.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 86370f971..0068a0fc3 100755
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -329,7 +329,11 @@ static int setformat(void)
return -1;
}
res = ioctl(fd, SNDCTL_DSP_SETDUPLEX, 0);
- if (res >= 0) {
+
+ /* Check to see if duplex set (FreeBSD Bug)*/
+ res = ioctl(fd, SNDCTL_DSP_GETCAPS, &fmt);
+
+ if ((fmt & DSP_CAP_DUPLEX) && !res) {
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Console is full duplex\n");
full_duplex = -1;