comparison dec_audio.c @ 4423:ed500b952d2d

possible AC3 fix, by Marcus Blomenkamp <Marcus.Blomenkamp@epost.de>
author arpi
date Wed, 30 Jan 2002 22:05:46 +0000
parents c92c23a42e91
children e69bed07cb27
comparison
equal deleted inserted replaced
4422:3a46354aab56 4423:ed500b952d2d
318 318
319 int init_audio(sh_audio_t *sh_audio){ 319 int init_audio(sh_audio_t *sh_audio){
320 int driver=sh_audio->codec->driver; 320 int driver=sh_audio->codec->driver;
321 321
322 sh_audio->samplesize=2; 322 sh_audio->samplesize=2;
323 #if WORDS_BIGENDIAN 323 #ifdef WORDS_BIGENDIAN
324 sh_audio->sample_format=AFMT_S16_BE; 324 sh_audio->sample_format=AFMT_S16_BE;
325 #else 325 #else
326 sh_audio->sample_format=AFMT_S16_LE; 326 sh_audio->sample_format=AFMT_S16_LE;
327 #endif 327 #endif
328 sh_audio->samplerate=0; 328 sh_audio->samplerate=0;
403 sh_audio->audio_out_minsize=audio_output_channels*2*256*6; 403 sh_audio->audio_out_minsize=audio_output_channels*2*256*6;
404 break; 404 break;
405 case AFM_HWAC3: 405 case AFM_HWAC3:
406 // Dolby AC3 audio: 406 // Dolby AC3 audio:
407 sh_audio->audio_out_minsize=4*256*6; 407 sh_audio->audio_out_minsize=4*256*6;
408 sh_audio->sample_format = AFMT_AC3; 408 // sh_audio->sample_format = AFMT_AC3;
409 sh_audio->channels=1; 409 // sh_audio->sample_format = AFMT_S16_LE;
410 sh_audio->channels=2;
410 break; 411 break;
411 case AFM_GSM: 412 case AFM_GSM:
412 // MS-GSM audio codec: 413 // MS-GSM audio codec:
413 sh_audio->audio_out_minsize=4*320; 414 sh_audio->audio_out_minsize=4*320;
414 break; 415 break;
628 //sh_audio->ac3_frame=malloc(6144); 629 //sh_audio->ac3_frame=malloc(6144);
629 //sh_audio->o_bps=sh_audio->i_bps; // XXX FIXME!!! XXX 630 //sh_audio->o_bps=sh_audio->i_bps; // XXX FIXME!!! XXX
630 631
631 // o_bps is calculated from samplesize*channels*samplerate 632 // o_bps is calculated from samplesize*channels*samplerate
632 // a single ac3 frame is always translated to 6144 byte packet. (zero padding) 633 // a single ac3 frame is always translated to 6144 byte packet. (zero padding)
633 sh_audio->channels=1; 634 sh_audio->channels=2;
634 sh_audio->samplesize=4; // 1*4*(6*256) = 6144 (very TRICKY!) 635 sh_audio->samplesize=2; // 2*2*(6*256) = 6144 (very TRICKY!)
635 636
636 break; 637 break;
637 } 638 }
638 case AFM_ALAW: { 639 case AFM_ALAW: {
639 // aLaw audio codec: 640 // aLaw audio codec: