mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 12:02:23 +02:00
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
This commit is contained in:
parent
db4e77d0a5
commit
393924ff39
@ -127,6 +127,7 @@ static int preinit(sh_audio_t *sh_audio)
|
|||||||
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
||||||
sh_audio->channels=priv->o_wf->nChannels;
|
sh_audio->channels=priv->o_wf->nChannels;
|
||||||
sh_audio->samplerate=priv->o_wf->nSamplesPerSec;
|
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");
|
mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Win32/ACM audio codec init OK!\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -25,6 +25,7 @@ static int init(sh_audio_t *sh_audio)
|
|||||||
sh_audio->channels=sh_audio->wf->nChannels;
|
sh_audio->channels=sh_audio->wf->nChannels;
|
||||||
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
||||||
sh_audio->i_bps=sh_audio->channels*sh_audio->samplerate;
|
sh_audio->i_bps=sh_audio->channels*sh_audio->samplerate;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,6 +84,7 @@ static int init(sh_audio_t *sh_audio)
|
|||||||
sh_audio->samplerate = sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate = sh_audio->wf->nSamplesPerSec;
|
||||||
sh_audio->i_bps =
|
sh_audio->i_bps =
|
||||||
(sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
|
(sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,7 @@ static int preinit(sh_audio_t *sh_audio)
|
|||||||
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
||||||
sh_audio->channels=chans;
|
sh_audio->channels=chans;
|
||||||
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
sh_audio->audio_in_minsize=4*sh_audio->wf->nBlockAlign;
|
sh_audio->audio_in_minsize=4*sh_audio->wf->nBlockAlign;
|
||||||
if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192;
|
if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192;
|
||||||
sh_audio->audio_out_minsize=4*16384;
|
sh_audio->audio_out_minsize=4*16384;
|
||||||
|
@ -39,6 +39,7 @@ static int preinit(sh_audio_t *sh_audio)
|
|||||||
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
||||||
sh_audio->channels=sh_audio->wf->nChannels;
|
sh_audio->channels=sh_audio->wf->nChannels;
|
||||||
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
sh_audio->audio_in_minsize=2*sh_audio->wf->nBlockAlign;
|
sh_audio->audio_in_minsize=2*sh_audio->wf->nBlockAlign;
|
||||||
if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192;
|
if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192;
|
||||||
sh_audio->audio_out_minsize=16384;
|
sh_audio->audio_out_minsize=16384;
|
||||||
|
@ -71,11 +71,11 @@ static int init(sh_audio_t *sh)
|
|||||||
/* XXX: FAAD support FLOAT output, how do we handle
|
/* XXX: FAAD support FLOAT output, how do we handle
|
||||||
* that (FAAD_FMT_FLOAT)? ::atmos
|
* that (FAAD_FMT_FLOAT)? ::atmos
|
||||||
*/
|
*/
|
||||||
if(sh->samplesize)
|
|
||||||
switch(sh->samplesize){
|
switch(sh->samplesize){
|
||||||
case 1: // 8Bit
|
case 1: // 8Bit
|
||||||
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: 8Bit samplesize not supported by FAAD, assuming 16Bit!\n");
|
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: 8Bit samplesize not supported by FAAD, assuming 16Bit!\n");
|
||||||
default:
|
default:
|
||||||
|
sh->samplesize=2;
|
||||||
case 2: // 16Bit
|
case 2: // 16Bit
|
||||||
faac_conf->outputFormat = FAAD_FMT_16BIT;
|
faac_conf->outputFormat = FAAD_FMT_16BIT;
|
||||||
break;
|
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);
|
mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Negotiated samplerate: %dHz channels: %d\n", faac_samplerate, faac_channels);
|
||||||
sh->channels = faac_channels;
|
sh->channels = faac_channels;
|
||||||
sh->samplerate = faac_samplerate;
|
sh->samplerate = faac_samplerate;
|
||||||
|
sh->samplesize=2;
|
||||||
//sh->o_bps = sh->samplesize*faac_channels*faac_samplerate;
|
//sh->o_bps = sh->samplesize*faac_channels*faac_samplerate;
|
||||||
if(!sh->i_bps) {
|
if(!sh->i_bps) {
|
||||||
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: compressed input bitrate missing, assuming 128kbit/s!\n");
|
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: compressed input bitrate missing, assuming 128kbit/s!\n");
|
||||||
|
@ -110,6 +110,7 @@ static int init(sh_audio_t *sh_audio)
|
|||||||
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
||||||
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
|
||||||
#endif
|
#endif
|
||||||
|
sh_audio->samplesize=2;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,6 +111,7 @@ static int init(sh_audio_t *sh_audio)
|
|||||||
/* decodes 34 byte -> 64 short*/
|
/* decodes 34 byte -> 64 short*/
|
||||||
sh_audio->i_bps =
|
sh_audio->i_bps =
|
||||||
(sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
|
(sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
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->samplerate=sample_rate;
|
||||||
sh_audio->i_bps=bit_rate/8;
|
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);
|
demux_read_data(sh_audio->ds,sh_audio->a_in_buffer+8,length-8);
|
||||||
if(sh_audio->format!=0x2000)
|
if(sh_audio->format!=0x2000)
|
||||||
swab(sh_audio->a_in_buffer+8,sh_audio->a_in_buffer+8,length-8);
|
swab(sh_audio->a_in_buffer+8,sh_audio->a_in_buffer+8,length-8);
|
||||||
|
@ -88,6 +88,7 @@ static int init(sh_audio_t *sh){
|
|||||||
sh->channels=(this->frame.header.mode == MAD_MODE_SINGLE_CHANNEL) ? 1 : 2;
|
sh->channels=(this->frame.header.mode == MAD_MODE_SINGLE_CHANNEL) ? 1 : 2;
|
||||||
sh->samplerate=this->frame.header.samplerate;
|
sh->samplerate=this->frame.header.samplerate;
|
||||||
sh->i_bps=this->frame.header.bitrate/8;
|
sh->i_bps=this->frame.header.bitrate/8;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,7 @@ static int init(sh_audio_t *sh)
|
|||||||
sh->a_buffer_len=MP3_DecodeFrame(sh->a_buffer,-1);
|
sh->a_buffer_len=MP3_DecodeFrame(sh->a_buffer,-1);
|
||||||
if(!sh->a_buffer_len) return 0; // unsupported layer/format
|
if(!sh->a_buffer_len) return 0; // unsupported layer/format
|
||||||
sh->channels=2; // hack
|
sh->channels=2; // hack
|
||||||
|
sh->samplesize=2;
|
||||||
sh->samplerate=MP3_samplerate;
|
sh->samplerate=MP3_samplerate;
|
||||||
sh->i_bps=MP3_bitrate*(1000/8);
|
sh->i_bps=MP3_bitrate*(1000/8);
|
||||||
MP3_PrintHeader();
|
MP3_PrintHeader();
|
||||||
|
@ -78,6 +78,7 @@ static int init(sh_audio_t *sh_audio)
|
|||||||
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
||||||
sh_audio->i_bps = sh_audio->wf->nBlockAlign *
|
sh_audio->i_bps = sh_audio->wf->nBlockAlign *
|
||||||
(sh_audio->channels*sh_audio->samplerate) / sh_audio->ds->ss_div;
|
(sh_audio->channels*sh_audio->samplerate) / sh_audio->ds->ss_div;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ static int init(sh_audio_t *sh_audio)
|
|||||||
GSM_Init();
|
GSM_Init();
|
||||||
sh_audio->channels=sh_audio->wf->nChannels;
|
sh_audio->channels=sh_audio->wf->nChannels;
|
||||||
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
|
||||||
|
sh_audio->samplesize=2;
|
||||||
// decodes 65 byte -> 320 short
|
// decodes 65 byte -> 320 short
|
||||||
// 1 sec: sh_audio->channels*sh_audio->samplerate samples
|
// 1 sec: sh_audio->channels*sh_audio->samplerate samples
|
||||||
// 1 frame: 320 samples
|
// 1 frame: 320 samples
|
||||||
|
Loading…
Reference in New Issue
Block a user