summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-07-29 01:32:03 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-07-29 01:32:03 +0300
commit4a36b51ea62bae47ea9bf8df3031c88a1992b7a6 (patch)
tree8ade74ff57f052e87f36b763703ffc03af823001 /libao2
parentc73217c07a98013887f507849c18eeac1257df58 (diff)
parent45b7b9374bb2a772baa34a52d1abac11c939de15 (diff)
downloadmpv-4a36b51ea62bae47ea9bf8df3031c88a1992b7a6.tar.bz2
mpv-4a36b51ea62bae47ea9bf8df3031c88a1992b7a6.tar.xz
Merge svn changes up to r29455
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_alsa.c16
-rw-r--r--libao2/ao_alsa5.c4
-rw-r--r--libao2/ao_coreaudio.c4
-rw-r--r--libao2/ao_dxr2.c2
-rw-r--r--libao2/ao_oss.c28
-rw-r--r--libao2/ao_pcm.c2
6 files changed, 25 insertions, 31 deletions
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c
index 4c3629b8c9..d71600e183 100644
--- a/libao2/ao_alsa.c
+++ b/libao2/ao_alsa.c
@@ -378,13 +378,13 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_U16_BE:
alsa_format = SND_PCM_FORMAT_U16_BE;
break;
-#ifndef WORDS_BIGENDIAN
+#if !HAVE_BIGENDIAN
case AF_FORMAT_AC3:
#endif
case AF_FORMAT_S16_LE:
alsa_format = SND_PCM_FORMAT_S16_LE;
break;
-#ifdef WORDS_BIGENDIAN
+#if HAVE_BIGENDIAN
case AF_FORMAT_AC3:
#endif
case AF_FORMAT_S16_BE:
@@ -402,6 +402,18 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_S32_BE:
alsa_format = SND_PCM_FORMAT_S32_BE;
break;
+ case AF_FORMAT_U24_LE:
+ alsa_format = SND_PCM_FORMAT_U24_3LE;
+ break;
+ case AF_FORMAT_U24_BE:
+ alsa_format = SND_PCM_FORMAT_U24_3BE;
+ break;
+ case AF_FORMAT_S24_LE:
+ alsa_format = SND_PCM_FORMAT_S24_3LE;
+ break;
+ case AF_FORMAT_S24_BE:
+ alsa_format = SND_PCM_FORMAT_S24_3BE;
+ break;
case AF_FORMAT_FLOAT_LE:
alsa_format = SND_PCM_FORMAT_FLOAT_LE;
break;
diff --git a/libao2/ao_alsa5.c b/libao2/ao_alsa5.c
index b2dc1efd3a..8843efb68a 100644
--- a/libao2/ao_alsa5.c
+++ b/libao2/ao_alsa5.c
@@ -101,13 +101,13 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_U16_BE:
alsa_format.format = SND_PCM_SFMT_U16_BE;
break;
-#ifndef WORDS_BIGENDIAN
+#if !HAVE_BIGENDIAN
case AF_FORMAT_AC3:
#endif
case AF_FORMAT_S16_LE:
alsa_format.format = SND_PCM_SFMT_S16_LE;
break;
-#ifdef WORDS_BIGENDIAN
+#if HAVE_BIGENDIAN
case AF_FORMAT_AC3:
#endif
case AF_FORMAT_S16_BE:
diff --git a/libao2/ao_coreaudio.c b/libao2/ao_coreaudio.c
index 76cb9174be..ad17773fbd 100644
--- a/libao2/ao_coreaudio.c
+++ b/libao2/ao_coreaudio.c
@@ -345,7 +345,7 @@ int b_alive;
}
if ((format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3) {
// Currently ac3 input (comes from hwac3) is always in native byte-order.
-#ifdef WORDS_BIGENDIAN
+#if HAVE_BIGENDIAN
inDesc.mFormatFlags |= kAudioFormatFlagIsBigEndian;
#endif
}
@@ -669,7 +669,7 @@ static int OpenSPDIF(void)
/* FIXME: If output stream is not native byte-order, we need change endian somewhere. */
/* Although there's no such case reported. */
-#ifdef WORDS_BIGENDIAN
+#if HAVE_BIGENDIAN
if (!(ao->stream_format.mFormatFlags & kAudioFormatFlagIsBigEndian))
#else
if (ao->stream_format.mFormatFlags & kAudioFormatFlagIsBigEndian)
diff --git a/libao2/ao_dxr2.c b/libao2/ao_dxr2.c
index e8aa65aab5..4712f3341f 100644
--- a/libao2/ao_dxr2.c
+++ b/libao2/ao_dxr2.c
@@ -207,7 +207,7 @@ static int play(void* data,int len,int flags){
int i;
//unsigned short *s=data;
uint16_t *s=data;
-#ifndef WORDS_BIGENDIAN
+#if !HAVE_BIGENDIAN
for(i=0;i<len/2;i++) s[i] = bswap_16(s[i]);
#endif
dxr2_send_lpcm_packet(data,len,0xA0,ao_data.pts-10000,freq_id);
diff --git a/libao2/ao_oss.c b/libao2/ao_oss.c
index c16d55c8df..0ff87efadd 100644
--- a/libao2/ao_oss.c
+++ b/libao2/ao_oss.c
@@ -70,17 +70,8 @@ static int format2oss(int format)
case AF_FORMAT_U16_BE: return AFMT_U16_BE;
case AF_FORMAT_S16_LE: return AFMT_S16_LE;
case AF_FORMAT_S16_BE: return AFMT_S16_BE;
-#ifdef AFMT_U24_LE
- case AF_FORMAT_U24_LE: return AFMT_U24_LE;
-#endif
-#ifdef AFMT_U24_BE
- case AF_FORMAT_U24_BE: return AFMT_U24_BE;
-#endif
-#ifdef AFMT_S24_LE
- case AF_FORMAT_S24_LE: return AFMT_S24_LE;
-#endif
-#ifdef AFMT_S24_BE
- case AF_FORMAT_S24_BE: return AFMT_S24_BE;
+#ifdef AFMT_S24_PACKED
+ case AF_FORMAT_S24_LE: return AFMT_S24_PACKED;
#endif
#ifdef AFMT_U32_LE
case AF_FORMAT_U32_LE: return AFMT_U32_LE;
@@ -122,17 +113,8 @@ static int oss2format(int format)
case AFMT_U16_BE: return AF_FORMAT_U16_BE;
case AFMT_S16_LE: return AF_FORMAT_S16_LE;
case AFMT_S16_BE: return AF_FORMAT_S16_BE;
-#ifdef AFMT_U24_LE
- case AFMT_U24_LE: return AF_FORMAT_U24_LE;
-#endif
-#ifdef AFMT_U24_BE
- case AFMT_U24_BE: return AF_FORMAT_U24_BE;
-#endif
-#ifdef AFMT_S24_LE
- case AFMT_S24_LE: return AF_FORMAT_S24_LE;
-#endif
-#ifdef AFMT_S24_BE
- case AFMT_S24_BE: return AF_FORMAT_S24_BE;
+#ifdef AFMT_S24_PACKED
+ case AFMT_S24_PACKED: return AF_FORMAT_S24_LE;
#endif
#ifdef AFMT_U32_LE
case AFMT_U32_LE: return AF_FORMAT_U32_LE;
@@ -353,7 +335,7 @@ ac3_retry:
ao_data.format=format;
oss_format=format2oss(format);
if (oss_format == -1) {
-#ifdef WORDS_BIGENDIAN
+#if HAVE_BIGENDIAN
oss_format=AFMT_S16_BE;
#else
oss_format=AFMT_S16_LE;
diff --git a/libao2/ao_pcm.c b/libao2/ao_pcm.c
index 78652c7cdc..94e0c438aa 100644
--- a/libao2/ao_pcm.c
+++ b/libao2/ao_pcm.c
@@ -234,7 +234,7 @@ static int play(void* data,int len,int flags){
// let libaf to do the conversion...
#if 0
-//#ifdef WORDS_BIGENDIAN
+//#if HAVE_BIGENDIAN
if (ao_data.format == AFMT_S16_LE) {
unsigned short *buffer = (unsigned short *) data;
register int i;