diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-07-29 01:32:03 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-07-29 01:32:03 +0300 |
commit | 4a36b51ea62bae47ea9bf8df3031c88a1992b7a6 (patch) | |
tree | 8ade74ff57f052e87f36b763703ffc03af823001 /libao2 | |
parent | c73217c07a98013887f507849c18eeac1257df58 (diff) | |
parent | 45b7b9374bb2a772baa34a52d1abac11c939de15 (diff) | |
download | mpv-4a36b51ea62bae47ea9bf8df3031c88a1992b7a6.tar.bz2 mpv-4a36b51ea62bae47ea9bf8df3031c88a1992b7a6.tar.xz |
Merge svn changes up to r29455
Diffstat (limited to 'libao2')
-rw-r--r-- | libao2/ao_alsa.c | 16 | ||||
-rw-r--r-- | libao2/ao_alsa5.c | 4 | ||||
-rw-r--r-- | libao2/ao_coreaudio.c | 4 | ||||
-rw-r--r-- | libao2/ao_dxr2.c | 2 | ||||
-rw-r--r-- | libao2/ao_oss.c | 28 | ||||
-rw-r--r-- | libao2/ao_pcm.c | 2 |
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; |