aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_alsa.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-03-24 00:55:40 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-03-24 00:55:40 +0000
commit74ffe75c3831e7d538146b9849cfaa57db884eea (patch)
tree0d9d4e68c82c6c7bf78259766cf18b0674de4bbe /channels/chan_alsa.c
parent7957f8152cc34fe91ba09e54235b2771f9742cf2 (diff)
fix endianness of OSS/Alsa (bug #3839)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5241 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_alsa.c')
-rwxr-xr-xchannels/chan_alsa.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index d907c1a83..9811cb8d2 100755
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -27,6 +27,7 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
+#include <endian.h>
#define ALSA_PCM_NEW_HW_PARAMS_API
#define ALSA_PCM_NEW_SW_PARAMS_API
@@ -59,7 +60,12 @@
/* Don't switch between read/write modes faster than every 300 ms */
#define MIN_SWITCH_TIME 600
+#if __BYTE_ORDER == __LITTLE_ENDIAN
static snd_pcm_format_t format = SND_PCM_FORMAT_S16_LE;
+#else
+static snd_pcm_format_t format = SND_PCM_FORMAT_S16_BE;
+#endif
+
/* static int block = O_NONBLOCK; */
static char indevname[50] = ALSA_INDEV;
static char outdevname[50] = ALSA_OUTDEV;