diff options
author | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-12-28 01:59:12 +0000 |
---|---|---|
committer | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-12-28 01:59:12 +0000 |
commit | 3fda49a8cbfb7993f4199913c6183fa60db295da (patch) | |
tree | 0a789fc08194e4700bebadb5dd7f79775c830705 | |
parent | 37644a0cee9695b2d4db0ed2ed29c85da676b7b1 (diff) |
100l set default format for AF_FORMATs not supported by sound card
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14261 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libao2/ao_oss.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libao2/ao_oss.c b/libao2/ao_oss.c index 7fa33e4603..7af6156245 100644 --- a/libao2/ao_oss.c +++ b/libao2/ao_oss.c @@ -256,15 +256,21 @@ static int init(int rate,int channels,int format,int flags){ ac3_retry: ao_data.format=format; oss_format=format2oss(format); - if (oss_format == -1) return 0; + if (oss_format == -1) { +#ifdef WORDS_BIGENDIAN + oss_format=AFMT_S16_BE; + format=AF_FORMAT_S16_BE; +#else + oss_format=AFMT_S16_LE; + format=AF_FORMAT_S16_LE; +#endif + } if( ioctl(audio_fd, SNDCTL_DSP_SETFMT, &oss_format)<0 || oss_format != format2oss(format)) if(format == AF_FORMAT_AC3){ mp_msg(MSGT_AO,MSGL_WARN, MSGTR_AO_OSS_CantSetAC3, dsp); #ifdef WORDS_BIGENDIAN - oss_format=AFMT_S16_BE; format=AF_FORMAT_S16_BE; #else - oss_format=AFMT_S16_LE; format=AF_FORMAT_S16_LE; #endif goto ac3_retry; |