Mercurial > mplayer.hg
diff libao2/ao_mpegpes.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 | 2eff450157cd |
children | ce6171e05d55 |
line wrap: on
line diff
--- a/libao2/ao_mpegpes.c Mon Jan 11 20:02:46 2010 +0000 +++ b/libao2/ao_mpegpes.c Mon Jan 11 20:27:52 2010 +0000 @@ -250,9 +250,12 @@ switch(format){ case AF_FORMAT_S16_BE: case AF_FORMAT_MPEG2: - case AF_FORMAT_AC3: + case AF_FORMAT_AC3_BE: ao_data.format=format; break; + case AF_FORMAT_AC3_LE: + ao_data.format=AF_FORMAT_AC3_BE; + break; default: ao_data.format=AF_FORMAT_S16_BE; } @@ -333,8 +336,6 @@ unsigned short *s=data; // if(len>2000) len=2000; // printf("ao_mpegpes: len=%d \n",len); - if(ao_data.format==AF_FORMAT_AC3) - for(i=0;i<len/2;i++) s[i]=(s[i]>>8)|(s[i]<<8); // le<->be send_mpeg_lpcm_packet(data, len, 0xA0, ao_data.pts, freq_id, my_ao_write); } return len;