CVS: main/libmpcodecs ad_dvdpcm.c,1.4,1.5
Update of /cvsroot/mplayer/main/libmpcodecs In directory mail:/var/tmp.root/cvs-serv8051 Modified Files: ad_dvdpcm.c Log Message: parse samplerate & channels from LPCM header Index: ad_dvdpcm.c =================================================================== RCS file: /cvsroot/mplayer/main/libmpcodecs/ad_dvdpcm.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ad_dvdpcm.c 31 Aug 2002 13:09:23 -0000 1.4 +++ ad_dvdpcm.c 8 Oct 2002 22:56:43 -0000 1.5 @@ -19,11 +19,23 @@ static int init(sh_audio_t *sh) { /* DVD PCM Audio:*/ - sh->channels=2; - sh->samplerate=48000; - sh->i_bps=2*2*48000; -/* sh_audio->pcm_bswap=1;*/ - return 1; + if(sh->codecdata_len==3){ + // we have LPCM header: + unsigned char h=sh->codecdata[1]; + sh->channels=1+(h&7); + switch((h>>4)&3){ + case 0: sh->samplerate=48000;break; + case 1: sh->samplerate=96000;break; + case 2: sh->samplerate=44100;break; + case 3: sh->samplerate=32000;break; + } + } else { + // use defaults: + sh->channels=2; + sh->samplerate=48000; + } + sh->i_bps=2*sh->channels*sh->samplerate; + return 1; } static int preinit(sh_audio_t *sh)
participants (1)
-
Arpi of Ize