diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-09-21 20:34:47 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-09-21 20:34:47 +0000 |
commit | 393924ff39b792c16d7a04b8fba1f73aaec97c42 (patch) | |
tree | dadcaf1c13098296999f9b6dc653cf3b6c5da82a | |
parent | db4e77d0a5e33da13927d805f69c870082d26ee4 (diff) | |
download | mpv-393924ff39b792c16d7a04b8fba1f73aaec97c42.tar.bz2 mpv-393924ff39b792c16d7a04b8fba1f73aaec97c42.tar.xz |
setting samplesize to 2 in decoders where neccessary.
Needed because initialization of sh_audio was moved from dec_audio to
demuxer.c, and some demuxers set samplesize incorrect or to 0.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13428 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpcodecs/ad_acm.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_alaw.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_dk3adpcm.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_dmo.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_dshow.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_faad.c | 3 | ||||
-rw-r--r-- | libmpcodecs/ad_ffmpeg.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_imaadpcm.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_liba52.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_libmad.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_mp3lib.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_msadpcm.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ad_msgsm.c | 1 |
13 files changed, 14 insertions, 1 deletions
diff --git a/libmpcodecs/ad_acm.c b/libmpcodecs/ad_acm.c index 2be77056b6..50d3a45bf5 100644 --- a/libmpcodecs/ad_acm.c +++ b/libmpcodecs/ad_acm.c @@ -127,6 +127,7 @@ static int preinit(sh_audio_t *sh_audio) sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec; sh_audio->channels=priv->o_wf->nChannels; sh_audio->samplerate=priv->o_wf->nSamplesPerSec; + sh_audio->samplesize=2; mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Win32/ACM audio codec init OK!\n"); return 1; diff --git a/libmpcodecs/ad_alaw.c b/libmpcodecs/ad_alaw.c index 5385d18e27..2f3ec43985 100644 --- a/libmpcodecs/ad_alaw.c +++ b/libmpcodecs/ad_alaw.c @@ -25,6 +25,7 @@ static int init(sh_audio_t *sh_audio) sh_audio->channels=sh_audio->wf->nChannels; sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; sh_audio->i_bps=sh_audio->channels*sh_audio->samplerate; + sh_audio->samplesize=2; return 1; } diff --git a/libmpcodecs/ad_dk3adpcm.c b/libmpcodecs/ad_dk3adpcm.c index 83f3781dcf..4671f23ebe 100644 --- a/libmpcodecs/ad_dk3adpcm.c +++ b/libmpcodecs/ad_dk3adpcm.c @@ -84,6 +84,7 @@ static int init(sh_audio_t *sh_audio) sh_audio->samplerate = sh_audio->wf->nSamplesPerSec; sh_audio->i_bps = (sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div; + sh_audio->samplesize=2; return 1; } diff --git a/libmpcodecs/ad_dmo.c b/libmpcodecs/ad_dmo.c index 5de739ee56..39eaedf46d 100644 --- a/libmpcodecs/ad_dmo.c +++ b/libmpcodecs/ad_dmo.c @@ -43,6 +43,7 @@ static int preinit(sh_audio_t *sh_audio) sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec; sh_audio->channels=chans; sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; + sh_audio->samplesize=2; sh_audio->audio_in_minsize=4*sh_audio->wf->nBlockAlign; if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192; sh_audio->audio_out_minsize=4*16384; diff --git a/libmpcodecs/ad_dshow.c b/libmpcodecs/ad_dshow.c index 662a5204db..5e98928b57 100644 --- a/libmpcodecs/ad_dshow.c +++ b/libmpcodecs/ad_dshow.c @@ -39,6 +39,7 @@ static int preinit(sh_audio_t *sh_audio) sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec; sh_audio->channels=sh_audio->wf->nChannels; sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; + sh_audio->samplesize=2; sh_audio->audio_in_minsize=2*sh_audio->wf->nBlockAlign; if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192; sh_audio->audio_out_minsize=16384; diff --git a/libmpcodecs/ad_faad.c b/libmpcodecs/ad_faad.c index bcdd397d7d..bb82c87921 100644 --- a/libmpcodecs/ad_faad.c +++ b/libmpcodecs/ad_faad.c @@ -71,11 +71,11 @@ static int init(sh_audio_t *sh) /* XXX: FAAD support FLOAT output, how do we handle * that (FAAD_FMT_FLOAT)? ::atmos */ - if(sh->samplesize) switch(sh->samplesize){ case 1: // 8Bit mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: 8Bit samplesize not supported by FAAD, assuming 16Bit!\n"); default: + sh->samplesize=2; case 2: // 16Bit faac_conf->outputFormat = FAAD_FMT_16BIT; break; @@ -123,6 +123,7 @@ static int init(sh_audio_t *sh) mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Negotiated samplerate: %dHz channels: %d\n", faac_samplerate, faac_channels); sh->channels = faac_channels; sh->samplerate = faac_samplerate; + sh->samplesize=2; //sh->o_bps = sh->samplesize*faac_channels*faac_samplerate; if(!sh->i_bps) { mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: compressed input bitrate missing, assuming 128kbit/s!\n"); diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c index 425607e078..06f74f9a10 100644 --- a/libmpcodecs/ad_ffmpeg.c +++ b/libmpcodecs/ad_ffmpeg.c @@ -110,6 +110,7 @@ static int init(sh_audio_t *sh_audio) sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec; #endif + sh_audio->samplesize=2; return 1; } diff --git a/libmpcodecs/ad_imaadpcm.c b/libmpcodecs/ad_imaadpcm.c index 1484f399b1..ba6fca6da7 100644 --- a/libmpcodecs/ad_imaadpcm.c +++ b/libmpcodecs/ad_imaadpcm.c @@ -111,6 +111,7 @@ static int init(sh_audio_t *sh_audio) /* decodes 34 byte -> 64 short*/ sh_audio->i_bps = (sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div; + sh_audio->samplesize=2; return 1; } diff --git a/libmpcodecs/ad_liba52.c b/libmpcodecs/ad_liba52.c index 03262ad87c..d168ca1b95 100644 --- a/libmpcodecs/ad_liba52.c +++ b/libmpcodecs/ad_liba52.c @@ -67,6 +67,7 @@ while(1){ mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"a52: len=%d flags=0x%X %d Hz %d bit/s\n",length,flags,sample_rate,bit_rate); sh_audio->samplerate=sample_rate; sh_audio->i_bps=bit_rate/8; + sh_audio->samplesize=2; demux_read_data(sh_audio->ds,sh_audio->a_in_buffer+8,length-8); if(sh_audio->format!=0x2000) swab(sh_audio->a_in_buffer+8,sh_audio->a_in_buffer+8,length-8); diff --git a/libmpcodecs/ad_libmad.c b/libmpcodecs/ad_libmad.c index 5ecfd5c4f5..4cf013aec3 100644 --- a/libmpcodecs/ad_libmad.c +++ b/libmpcodecs/ad_libmad.c @@ -88,6 +88,7 @@ static int init(sh_audio_t *sh){ sh->channels=(this->frame.header.mode == MAD_MODE_SINGLE_CHANNEL) ? 1 : 2; sh->samplerate=this->frame.header.samplerate; sh->i_bps=this->frame.header.bitrate/8; + sh_audio->samplesize=2; return 1; } diff --git a/libmpcodecs/ad_mp3lib.c b/libmpcodecs/ad_mp3lib.c index 2b4f8c96a2..c5716ef317 100644 --- a/libmpcodecs/ad_mp3lib.c +++ b/libmpcodecs/ad_mp3lib.c @@ -50,6 +50,7 @@ static int init(sh_audio_t *sh) sh->a_buffer_len=MP3_DecodeFrame(sh->a_buffer,-1); if(!sh->a_buffer_len) return 0; // unsupported layer/format sh->channels=2; // hack + sh->samplesize=2; sh->samplerate=MP3_samplerate; sh->i_bps=MP3_bitrate*(1000/8); MP3_PrintHeader(); diff --git a/libmpcodecs/ad_msadpcm.c b/libmpcodecs/ad_msadpcm.c index 4edbb87349..6dc250235f 100644 --- a/libmpcodecs/ad_msadpcm.c +++ b/libmpcodecs/ad_msadpcm.c @@ -78,6 +78,7 @@ static int init(sh_audio_t *sh_audio) sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; sh_audio->i_bps = sh_audio->wf->nBlockAlign * (sh_audio->channels*sh_audio->samplerate) / sh_audio->ds->ss_div; + sh_audio->samplesize=2; return 1; } diff --git a/libmpcodecs/ad_msgsm.c b/libmpcodecs/ad_msgsm.c index 141f153494..ace6f47e5a 100644 --- a/libmpcodecs/ad_msgsm.c +++ b/libmpcodecs/ad_msgsm.c @@ -25,6 +25,7 @@ static int init(sh_audio_t *sh_audio) GSM_Init(); sh_audio->channels=sh_audio->wf->nChannels; sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; + sh_audio->samplesize=2; // decodes 65 byte -> 320 short // 1 sec: sh_audio->channels*sh_audio->samplerate samples // 1 frame: 320 samples |