fix endianness of OSS/Alsa (bug #3839)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2005-03-24 00:55:40 +00:00
parent ef6b032456
commit d8daf09817
2 changed files with 13 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <endian.h>
#ifdef __linux
#include <linux/soundcard.h>
#elif defined(__FreeBSD__)
@@ -350,7 +351,13 @@ static int setformat(void)
int fmt, desired, res, fd = sounddev;
static int warnedalready = 0;
static int warnedalready2 = 0;
#if __BYTE_ORDER == __LITTLE_ENDIAN
fmt = AFMT_S16_LE;
#else
fmt = AFMT_S16_BE;
#endif
res = ioctl(fd, SNDCTL_DSP_SETFMT, &fmt);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set format to 16-bit signed\n");