diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-08-12 03:19:19 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-08-12 03:19:19 +0000 |
commit | 65b2c011443b98ae19b2538b8a61b828cb650ee4 (patch) | |
tree | 8b84f2cf331145a921476ecd0bb42d310cf70b25 /channels/chan_oss.c | |
parent | b814d3047641e7f2b0da752ec47b1b980a768c4b (diff) |
Fix duplex code for FreeBSD
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3601 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_oss.c')
-rwxr-xr-x | channels/chan_oss.c | 6 |
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; |