Mercurial > mplayer.hg
comparison libao2/ao_mpegpes.c @ 9265:c9b1b73339da
hwac3 fix
bugrep & testing by Stefan Baehre <ste.ba@gmx.de>
author | arpi |
---|---|
date | Mon, 03 Feb 2003 23:30:27 +0000 |
parents | 00326905484b |
children | 382534a5a830 |
comparison
equal
deleted
inserted
replaced
9264:2c37b2fe05ee | 9265:c9b1b73339da |
---|---|
95 ao_data.outburst=2000; | 95 ao_data.outburst=2000; |
96 switch(format){ | 96 switch(format){ |
97 case AFMT_S16_LE: | 97 case AFMT_S16_LE: |
98 case AFMT_S16_BE: | 98 case AFMT_S16_BE: |
99 case AFMT_MPEG: | 99 case AFMT_MPEG: |
100 case AFMT_AC3: | |
100 ao_data.format=format; | 101 ao_data.format=format; |
101 break; | 102 break; |
102 default: | 103 default: |
103 ao_data.format=AFMT_S16_BE; | 104 ao_data.format=AFMT_S16_BE; |
104 } | 105 } |
176 else { | 177 else { |
177 int i; | 178 int i; |
178 unsigned short *s=data; | 179 unsigned short *s=data; |
179 // if(len>2000) len=2000; | 180 // if(len>2000) len=2000; |
180 // printf("ao_mpegpes: len=%d \n",len); | 181 // printf("ao_mpegpes: len=%d \n",len); |
181 if(ao_data.format==AFMT_S16_LE) | 182 if(ao_data.format==AFMT_S16_LE || ao_data.format==AFMT_AC3) |
182 for(i=0;i<len/2;i++) s[i]=(s[i]>>8)|(s[i]<<8); // le<->be | 183 for(i=0;i<len/2;i++) s[i]=(s[i]>>8)|(s[i]<<8); // le<->be |
183 send_lpcm_packet(data,len,0xA0,ao_data.pts,freq_id); | 184 send_lpcm_packet(data,len,0xA0,ao_data.pts,freq_id); |
184 } | 185 } |
185 return len; | 186 return len; |
186 } | 187 } |