diff options
author | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-04-14 15:25:11 +0000 |
---|---|---|
committer | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-04-14 15:25:11 +0000 |
commit | c412ed42412d3bcab5e40ebae258e7970506f0c3 (patch) | |
tree | 8a31cfdfe6148a519687d345c5fa43dccd78ab00 /dec_audio.c | |
parent | b69222c3da24c6aeaa6690b6ded613f1688dda0f (diff) | |
download | mpv-c412ed42412d3bcab5e40ebae258e7970506f0c3.tar.bz2 mpv-c412ed42412d3bcab5e40ebae258e7970506f0c3.tar.xz |
DVD PCM audio support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@402 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_audio.c')
-rw-r--r-- | dec_audio.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/dec_audio.c b/dec_audio.c index 35ebb0cb48..5b78d61040 100644 --- a/dec_audio.c +++ b/dec_audio.c @@ -5,7 +5,7 @@ int driver=sh_audio->codec->driver; sh_audio->samplesize=2; sh_audio->samplerate=0; -sh_audio->pcm_bswap=0; +//sh_audio->pcm_bswap=0; sh_audio->a_buffer_size=16384; // default size, maybe not enough for Win32/ACM sh_audio->a_buffer=NULL; @@ -63,18 +63,18 @@ case 4: { break; } case 2: { -// if(file_format==DEMUXER_TYPE_AVI){ // FIXME!!!!!!! // AVI PCM Audio: WAVEFORMATEX *h=&sh_audio->wf; sh_audio->channels=h->nChannels; sh_audio->samplerate=h->nSamplesPerSec; sh_audio->samplesize=(h->wBitsPerSample+7)/8; -// } else { -// // DVD PCM audio: -// sh_audio->channels=2; -// sh_audio->samplerate=48000; + break; +} +case 8: { + // DVD PCM Audio: + sh_audio->channels=2; + sh_audio->samplerate=48000; // sh_audio->pcm_bswap=1; -// } break; } case 3: { @@ -149,17 +149,19 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int maxlen){ len=MP3_DecodeFrame(buf,-1); sh_audio->channels=2; // hack break; - case 2: // PCM + case 2: // AVI PCM { len=demux_read_data(sh_audio->ds,buf,OUTBURST); - if(sh_audio->pcm_bswap){ - int j; + break; + } + case 8: // DVD PCM + { int j; + len=demux_read_data(sh_audio->ds,buf,OUTBURST); //if(i&1){ printf("Warning! pcm_audio_size&1 !=0 (%d)\n",i);i&=~1; } for(j=0;j<len;j+=2){ char x=buf[j]; buf[j]=buf[j+1]; buf[j+1]=x; } - } break; } case 5: // aLaw decoder |