diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-07-29 02:08:27 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-07-29 02:08:27 +0000 |
commit | 38060e5ee7781e84e04092c79881f72c0dead165 (patch) | |
tree | e3b5a25e02bfd1e815ac4a0764a51b005370afa3 /dec_audio.c | |
parent | 69c2e0aaa588d2ca82f63493f6e370c9f2bf0bc3 (diff) | |
download | mpv-38060e5ee7781e84e04092c79881f72c0dead165.tar.bz2 mpv-38060e5ee7781e84e04092c79881f72c0dead165.tar.xz |
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1411 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_audio.c')
-rw-r--r-- | dec_audio.c | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/dec_audio.c b/dec_audio.c index 7acd29e816..6f2d5bde29 100644 --- a/dec_audio.c +++ b/dec_audio.c @@ -76,7 +76,7 @@ sh_audio->a_in_buffer_len=0; sh_audio->audio_out_minsize=8192;// default size, maybe not enough for Win32/ACM switch(driver){ -case 4: +case AFM_ACM: #ifndef ARCH_X86 printf("Win32/ACM audio codec unavailable on non-x86 CPU -> force nosound :(\n"); driver=0; @@ -96,7 +96,7 @@ case 4: } #endif break; -case 7: +case AFM_DSHOW: #ifndef USE_DIRECTSHOW printf("Compiled without DirectShow support -> force nosound :(\n"); driver=0; @@ -119,21 +119,21 @@ case 7: } #endif break; -case 2: -case 8: -case 5: +case AFM_PCM: +case AFM_DVDPCM: +case AFM_ALAW: // PCM, aLaw sh_audio->audio_out_minsize=2048; break; -case 3: +case AFM_AC3: // Dolby AC3 audio: sh_audio->audio_out_minsize=4*256*6; break; -case 6: +case AFM_GSM: // MS-GSM audio codec: sh_audio->audio_out_minsize=4*320; break; -case 1: +case AFM_MPEG: // MPEG Audio: sh_audio->audio_out_minsize=4608; break; @@ -157,7 +157,7 @@ sh_audio->a_buffer_len=0; switch(driver){ #ifdef ARCH_X86 -case 4: { +case AFM_ACM: { int ret=acm_decode_audio(sh_audio,sh_audio->a_buffer,4096,sh_audio->a_buffer_size); if(ret<0){ printf("ACM decoding error: %d\n",ret); @@ -167,7 +167,7 @@ case 4: { break; } #endif -case 2: { +case AFM_PCM: { // AVI PCM Audio: WAVEFORMATEX *h=sh_audio->wf; sh_audio->i_bps=h->nAvgBytesPerSec; @@ -184,7 +184,7 @@ case 2: { } break; } -case 8: { +case AFM_DVDPCM: { // DVD PCM Audio: sh_audio->channels=2; sh_audio->samplerate=48000; @@ -192,7 +192,7 @@ case 8: { // sh_audio->pcm_bswap=1; break; } -case 3: { +case AFM_AC3: { // Dolby AC3 audio: dec_audio_sh=sh_audio; // save sh_audio for the callback: ac3_config.fill_buffer_callback = ac3_fill_buffer; @@ -218,14 +218,14 @@ case 3: { } break; } -case 5: { +case AFM_ALAW: { // aLaw audio codec: sh_audio->channels=sh_audio->wf->nChannels; sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; sh_audio->i_bps=sh_audio->channels*sh_audio->samplerate; break; } -case 6: { +case AFM_GSM: { // MS-GSM audio codec: GSM_Init(); sh_audio->channels=sh_audio->wf->nChannels; @@ -236,7 +236,7 @@ case 6: { sh_audio->i_bps=65*(sh_audio->channels*sh_audio->samplerate)/320; // 1:10 break; } -case 1: { +case AFM_MPEG: { // MPEG Audio: dec_audio_sh=sh_audio; // save sh_audio for the callback: #ifdef USE_FAKE_MONO @@ -279,13 +279,13 @@ if(!sh_audio->channels || !sh_audio->samplerate){ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ int len=-1; switch(sh_audio->codec->driver){ - case 1: // MPEG layer 2 or 3 + case AFM_MPEG: // MPEG layer 2 or 3 len=MP3_DecodeFrame(buf,-1); break; - case 2: // AVI PCM + case AFM_PCM: // AVI PCM len=demux_read_data(sh_audio->ds,buf,minlen); break; - case 8: // DVD PCM + case AFM_DVDPCM: // DVD PCM { int j; len=demux_read_data(sh_audio->ds,buf,minlen); //if(i&1){ printf("Warning! pcm_audio_size&1 !=0 (%d)\n",i);i&=~1; } @@ -297,7 +297,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ } break; } - case 5: // aLaw decoder + case AFM_ALAW: // aLaw decoder { int l=demux_read_data(sh_audio->ds,buf,minlen/2); unsigned short *d=(unsigned short *) buf; unsigned char *s=buf; @@ -311,7 +311,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ } break; } - case 6: // MS-GSM decoder + case AFM_GSM: // MS-GSM decoder { unsigned char buf[65]; // 65 bytes / frame if(demux_read_data(sh_audio->ds,buf,65)!=65) break; // EOF XA_MSGSM_Decoder(buf,(unsigned short *) buf); // decodes 65 byte -> 320 short @@ -319,7 +319,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ len=2*320; break; } - case 3: // AC3 decoder + case AFM_AC3: // AC3 decoder //printf("{1:%d}",avi_header.idx_pos);fflush(stdout); if(!sh_audio->ac3_frame) sh_audio->ac3_frame=ac3_decode_frame(); //printf("{2:%d}",avi_header.idx_pos);fflush(stdout); @@ -331,7 +331,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ //printf("{3:%d}",avi_header.idx_pos);fflush(stdout); break; #ifdef ARCH_X86 - case 4: + case AFM_ACM: // len=sh_audio->audio_out_minsize; // optimal decoded fragment size // if(len<minlen) len=minlen; else // if(len>maxlen) len=maxlen; @@ -341,7 +341,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ #endif #ifdef USE_DIRECTSHOW - case 7: // DirectShow + case AFM_DSHOW: // DirectShow { int size_in=0; int size_out=0; int srcsize=DS_AudioDecoder_GetSrcSize(maxlen); @@ -372,19 +372,19 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ void resync_audio_stream(sh_audio_t *sh_audio){ switch(sh_audio->codec->driver){ - case 1: // MPEG + case AFM_MPEG: MP3_DecodeFrame(NULL,-2); // resync MP3_DecodeFrame(NULL,-2); // resync MP3_DecodeFrame(NULL,-2); // resync break; - case 3: // AC3 + case AFM_AC3: ac3_bitstream_reset(); // reset AC3 bitstream buffer // if(verbose){ printf("Resyncing AC3 audio...");fflush(stdout);} sh_audio->ac3_frame=ac3_decode_frame(); // resync // if(verbose) printf(" OK!\n"); break; - case 4: // ACM - case 7: // DShow + case AFM_ACM: + case AFM_DSHOW: sh_audio->a_in_buffer_len=0; // reset ACM/DShow audio buffer break; } @@ -393,10 +393,10 @@ void resync_audio_stream(sh_audio_t *sh_audio){ void skip_audio_frame(sh_audio_t *sh_audio){ switch(sh_audio->codec->driver){ - case 1: MP3_DecodeFrame(NULL,-2);break; // skip MPEG frame - case 3: sh_audio->ac3_frame=ac3_decode_frame();break; // skip AC3 frame - case 4: - case 7: { + case AFM_MPEG: MP3_DecodeFrame(NULL,-2);break; // skip MPEG frame + case AFM_AC3: sh_audio->ac3_frame=ac3_decode_frame();break; // skip AC3 frame + case AFM_ACM: + case AFM_DSHOW: { int skip=sh_audio->wf->nBlockAlign; if(skip<16){ skip=(sh_audio->wf->nAvgBytesPerSec/16)&(~7); @@ -405,9 +405,9 @@ void skip_audio_frame(sh_audio_t *sh_audio){ demux_read_data(sh_audio->ds,NULL,skip); break; } - case 2: // AVI PCM - case 8: // DVD PCM - case 5: {// aLaw + case AFM_PCM: + case AFM_DVDPCM: + case AFM_ALAW: { int skip=sh_audio->i_bps/16; skip=skip&(~3); demux_read_data(sh_audio->ds,NULL,skip); |