Mercurial > mplayer.hg
diff libao2/ao_oss.c @ 30241:02b9c1a452e1
Add support for distinguishing between little- and big-endian SPDIF AC3
and converting between both.
author | reimar |
---|---|
date | Mon, 11 Jan 2010 20:27:52 +0000 |
parents | 7227245da803 |
children | 9d4720deada1 |
line wrap: on
line diff
--- a/libao2/ao_oss.c Mon Jan 11 20:02:46 2010 +0000 +++ b/libao2/ao_oss.c Mon Jan 11 20:27:52 2010 +0000 @@ -96,7 +96,7 @@ case AF_FORMAT_MPEG2: return AFMT_MPEG; #endif #ifdef AFMT_AC3 - case AF_FORMAT_AC3: return AFMT_AC3; + case AF_FORMAT_AC3_NE: return AFMT_AC3; #endif } mp_msg(MSGT_AO, MSGL_V, "OSS: Unknown/not supported internal format: %s\n", af_fmt2str_short(format)); @@ -139,7 +139,7 @@ case AFMT_MPEG: return AF_FORMAT_MPEG2; #endif #ifdef AFMT_AC3 - case AFMT_AC3: return AF_FORMAT_AC3; + case AFMT_AC3: return AF_FORMAT_AC3_NE; #endif } mp_msg(MSGT_GLOBAL,MSGL_ERR,MSGTR_AO_OSS_UnknownUnsupportedFormat, format); @@ -303,6 +303,8 @@ } ac3_retry: + if (AF_FORMAT_IS_AC3(format)) + format = AF_FORMAT_AC3_NE; ao_data.format=format; oss_format=format2oss(format); if (oss_format == -1) {