mirror of
https://github.com/mpv-player/mpv
synced 2025-02-20 06:46:55 +00:00
finally remove the refences to bps outside libaf. also simplification of some messages and removed redundants
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14819 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
fb3854d760
commit
6dbf6b4df1
11
libaf/af.c
11
libaf/af.c
@ -265,8 +265,7 @@ int af_reinit(af_stream_t* s, af_instance_t* af)
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
// Insert format filter
|
// Insert format filter
|
||||||
if(((af->prev?af->prev->data->format:s->input.format) != in.format) ||
|
if((af->prev?af->prev->data->format:s->input.format) != in.format){
|
||||||
((af->prev?af->prev->data->bps:s->input.bps) != in.bps)){
|
|
||||||
// Create format filter
|
// Create format filter
|
||||||
if(NULL == (new = af_prepend(s,af,"format")))
|
if(NULL == (new = af_prepend(s,af,"format")))
|
||||||
return AF_ERROR;
|
return AF_ERROR;
|
||||||
@ -438,8 +437,7 @@ int af_init(af_stream_t* s, int force_output)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check output format fix if not OK
|
// Check output format fix if not OK
|
||||||
if((s->last->data->format != s->output.format) ||
|
if(s->last->data->format != s->output.format){
|
||||||
(s->last->data->bps != s->output.bps)){
|
|
||||||
if(strcmp(s->last->info->name,"format"))
|
if(strcmp(s->last->info->name,"format"))
|
||||||
af = af_append(s,s->last,"format");
|
af = af_append(s,s->last,"format");
|
||||||
else
|
else
|
||||||
@ -457,7 +455,6 @@ int af_init(af_stream_t* s, int force_output)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if((s->last->data->format != s->output.format) ||
|
if((s->last->data->format != s->output.format) ||
|
||||||
(s->last->data->bps != s->output.bps) ||
|
|
||||||
(s->last->data->nch != s->output.nch) ||
|
(s->last->data->nch != s->output.nch) ||
|
||||||
(s->last->data->rate != s->output.rate)) {
|
(s->last->data->rate != s->output.rate)) {
|
||||||
// Something is stuffed audio out will not work
|
// Something is stuffed audio out will not work
|
||||||
@ -698,3 +695,7 @@ void af_help (void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void af_fix_parameters(af_data_t *data)
|
||||||
|
{
|
||||||
|
data->bps = af_fmt2bits(data->format)/8;
|
||||||
|
}
|
||||||
|
@ -214,6 +214,10 @@ float af_softclip(float a);
|
|||||||
/** Print a list of all available audio filters */
|
/** Print a list of all available audio filters */
|
||||||
void af_help(void);
|
void af_help(void);
|
||||||
|
|
||||||
|
/* Fill the missing parameters in the af_data_t structure.
|
||||||
|
Used for stuffing bps with a value based on format. */
|
||||||
|
void af_fix_paramaters(af_data_t *data);
|
||||||
|
|
||||||
/* Memory reallocation macro: if a local buffer is used (i.e. if the
|
/* Memory reallocation macro: if a local buffer is used (i.e. if the
|
||||||
filter doesn't operate on the incoming buffer this macro must be
|
filter doesn't operate on the incoming buffer this macro must be
|
||||||
called to ensure the buffer is big enough. */
|
called to ensure the buffer is big enough. */
|
||||||
@ -269,5 +273,3 @@ extern af_msg_cfg_t af_msg_cfg; // Message
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __aop_h__ */
|
#endif /* __aop_h__ */
|
||||||
|
|
||||||
|
|
||||||
|
@ -265,32 +265,29 @@ void uninit_audio(sh_audio_t *sh_audio)
|
|||||||
|
|
||||||
/* Init audio filters */
|
/* Init audio filters */
|
||||||
int preinit_audio_filters(sh_audio_t *sh_audio,
|
int preinit_audio_filters(sh_audio_t *sh_audio,
|
||||||
int in_samplerate, int in_channels, int in_format, int in_bps,
|
int in_samplerate, int in_channels, int in_format,
|
||||||
int* out_samplerate, int* out_channels, int* out_format, int out_bps){
|
int* out_samplerate, int* out_channels, int* out_format){
|
||||||
char strbuf[200];
|
|
||||||
af_stream_t* afs=malloc(sizeof(af_stream_t));
|
af_stream_t* afs=malloc(sizeof(af_stream_t));
|
||||||
memset(afs,0,sizeof(af_stream_t));
|
memset(afs,0,sizeof(af_stream_t));
|
||||||
|
|
||||||
// input format: same as codec's output format:
|
// input format: same as codec's output format:
|
||||||
afs->input.rate = in_samplerate;
|
afs->input.rate = in_samplerate;
|
||||||
afs->input.nch = in_channels;
|
afs->input.nch = in_channels;
|
||||||
// afs->input.format = af_format_decode(in_format);
|
|
||||||
afs->input.format = in_format;
|
afs->input.format = in_format;
|
||||||
afs->input.bps = in_bps;
|
af_fix_parameters(&(afs->input));
|
||||||
|
|
||||||
// output format: same as ao driver's input format (if missing, fallback to input)
|
// output format: same as ao driver's input format (if missing, fallback to input)
|
||||||
afs->output.rate = *out_samplerate ? *out_samplerate : afs->input.rate;
|
afs->output.rate = *out_samplerate ? *out_samplerate : afs->input.rate;
|
||||||
afs->output.nch = *out_channels ? *out_channels : afs->input.nch;
|
afs->output.nch = *out_channels ? *out_channels : afs->input.nch;
|
||||||
// afs->output.format = *out_format ? af_format_decode(*out_format) : afs->input.format;
|
|
||||||
afs->output.format = *out_format ? *out_format : afs->input.format;
|
afs->output.format = *out_format ? *out_format : afs->input.format;
|
||||||
afs->output.bps = out_bps ? out_bps : afs->input.bps;
|
af_fix_parameters(&(afs->output));
|
||||||
|
|
||||||
// filter config:
|
// filter config:
|
||||||
memcpy(&afs->cfg,&af_cfg,sizeof(af_cfg_t));
|
memcpy(&afs->cfg,&af_cfg,sizeof(af_cfg_t));
|
||||||
|
|
||||||
mp_msg(MSGT_DECAUDIO, MSGL_INFO, "Checking audio filter chain for %dHz/%dch/%dbit -> %dHz/%dch/%dbit...\n",
|
mp_msg(MSGT_DECAUDIO, MSGL_INFO, "Checking audio filter chain for %dHz/%dch/%s -> %dHz/%dch/%s...\n",
|
||||||
afs->input.rate,afs->input.nch,afs->input.bps*8,
|
afs->input.rate,afs->input.nch,af_fmt2str_short(afs->input.format),
|
||||||
afs->output.rate,afs->output.nch,afs->output.bps*8);
|
afs->output.rate,afs->output.nch,af_fmt2str_short(afs->output.format));
|
||||||
|
|
||||||
// let's autoprobe it!
|
// let's autoprobe it!
|
||||||
if(0 != af_init(afs,0)){
|
if(0 != af_init(afs,0)){
|
||||||
@ -300,12 +297,11 @@ int preinit_audio_filters(sh_audio_t *sh_audio,
|
|||||||
|
|
||||||
*out_samplerate=afs->output.rate;
|
*out_samplerate=afs->output.rate;
|
||||||
*out_channels=afs->output.nch;
|
*out_channels=afs->output.nch;
|
||||||
// *out_format=af_format_encode((void*)(&afs->output));
|
|
||||||
*out_format=afs->output.format;
|
*out_format=afs->output.format;
|
||||||
|
|
||||||
mp_msg(MSGT_DECAUDIO, MSGL_INFO, "AF_pre: af format: %d bps, %d ch, %d hz, %s\n",
|
mp_msg(MSGT_DECAUDIO, MSGL_INFO, "AF_pre: %dHz/%dch/%s\n",
|
||||||
afs->output.bps, afs->output.nch, afs->output.rate,
|
afs->output.rate, afs->output.nch,
|
||||||
af_fmt2str(afs->output.format,strbuf,200));
|
af_fmt2str_short(afs->output.format));
|
||||||
|
|
||||||
sh_audio->afilter=(void*)afs;
|
sh_audio->afilter=(void*)afs;
|
||||||
return 1;
|
return 1;
|
||||||
@ -313,8 +309,8 @@ int preinit_audio_filters(sh_audio_t *sh_audio,
|
|||||||
|
|
||||||
/* Init audio filters */
|
/* Init audio filters */
|
||||||
int init_audio_filters(sh_audio_t *sh_audio,
|
int init_audio_filters(sh_audio_t *sh_audio,
|
||||||
int in_samplerate, int in_channels, int in_format, int in_bps,
|
int in_samplerate, int in_channels, int in_format,
|
||||||
int out_samplerate, int out_channels, int out_format, int out_bps,
|
int out_samplerate, int out_channels, int out_format,
|
||||||
int out_minsize, int out_maxsize){
|
int out_minsize, int out_maxsize){
|
||||||
af_stream_t* afs=sh_audio->afilter;
|
af_stream_t* afs=sh_audio->afilter;
|
||||||
if(!afs){
|
if(!afs){
|
||||||
@ -325,23 +321,21 @@ int init_audio_filters(sh_audio_t *sh_audio,
|
|||||||
// input format: same as codec's output format:
|
// input format: same as codec's output format:
|
||||||
afs->input.rate = in_samplerate;
|
afs->input.rate = in_samplerate;
|
||||||
afs->input.nch = in_channels;
|
afs->input.nch = in_channels;
|
||||||
// afs->input.format = af_format_decode(in_format);
|
|
||||||
afs->input.format = in_format;
|
afs->input.format = in_format;
|
||||||
afs->input.bps = in_bps;
|
af_fix_parameters(&(afs->input));
|
||||||
|
|
||||||
// output format: same as ao driver's input format (if missing, fallback to input)
|
// output format: same as ao driver's input format (if missing, fallback to input)
|
||||||
afs->output.rate = out_samplerate ? out_samplerate : afs->input.rate;
|
afs->output.rate = out_samplerate ? out_samplerate : afs->input.rate;
|
||||||
afs->output.nch = out_channels ? out_channels : afs->input.nch;
|
afs->output.nch = out_channels ? out_channels : afs->input.nch;
|
||||||
// afs->output.format = af_format_decode(out_format ? out_format : afs->input.format);
|
|
||||||
afs->output.format = out_format ? out_format : afs->input.format;
|
afs->output.format = out_format ? out_format : afs->input.format;
|
||||||
afs->output.bps = out_bps ? out_bps : afs->input.bps;
|
af_fix_parameters(&(afs->output));
|
||||||
|
|
||||||
// filter config:
|
// filter config:
|
||||||
memcpy(&afs->cfg,&af_cfg,sizeof(af_cfg_t));
|
memcpy(&afs->cfg,&af_cfg,sizeof(af_cfg_t));
|
||||||
|
|
||||||
mp_msg(MSGT_DECAUDIO, MSGL_INFO, "Building audio filter chain for %dHz/%dch/%dbit -> %dHz/%dch/%dbit...\n",
|
mp_msg(MSGT_DECAUDIO, MSGL_INFO, "Building audio filter chain for %dHz/%dch/%s -> %dHz/%dch/%s...\n",
|
||||||
afs->input.rate,afs->input.nch,afs->input.bps*8,
|
afs->input.rate,afs->input.nch,af_fmt2str_short(afs->input.format),
|
||||||
afs->output.rate,afs->output.nch,afs->output.bps*8);
|
afs->output.rate,afs->output.nch,af_fmt2str_short(afs->output.format));
|
||||||
|
|
||||||
// let's autoprobe it!
|
// let's autoprobe it!
|
||||||
if(0 != af_init(afs,1)){
|
if(0 != af_init(afs,1)){
|
||||||
@ -416,9 +410,8 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)
|
|||||||
afd.len=declen;
|
afd.len=declen;
|
||||||
afd.rate=sh_audio->samplerate;
|
afd.rate=sh_audio->samplerate;
|
||||||
afd.nch=sh_audio->channels;
|
afd.nch=sh_audio->channels;
|
||||||
// afd.format=af_format_decode(sh_audio->sample_format);
|
|
||||||
afd.format=sh_audio->sample_format;
|
afd.format=sh_audio->sample_format;
|
||||||
afd.bps=sh_audio->samplesize;
|
af_fix_parameters(&afd);
|
||||||
//pafd=&afd;
|
//pafd=&afd;
|
||||||
// printf("\nAF: %d --> ",declen);
|
// printf("\nAF: %d --> ",declen);
|
||||||
pafd=af_play(sh_audio->afilter,&afd);
|
pafd=af_play(sh_audio->afilter,&afd);
|
||||||
@ -460,3 +453,7 @@ void skip_audio_frame(sh_audio_t *sh_audio)
|
|||||||
// default skip code:
|
// default skip code:
|
||||||
ds_fill_buffer(sh_audio->ds); // skip block
|
ds_fill_buffer(sh_audio->ds); // skip block
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void adjust_volume()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -11,9 +11,9 @@ extern void skip_audio_frame(sh_audio_t *sh_audio);
|
|||||||
extern void uninit_audio(sh_audio_t *sh_audio);
|
extern void uninit_audio(sh_audio_t *sh_audio);
|
||||||
|
|
||||||
extern int init_audio_filters(sh_audio_t *sh_audio,
|
extern int init_audio_filters(sh_audio_t *sh_audio,
|
||||||
int in_samplerate, int in_channels, int in_format, int in_bps,
|
int in_samplerate, int in_channels, int in_format,
|
||||||
int out_samplerate, int out_channels, int out_format, int out_bps,
|
int out_samplerate, int out_channels, int out_format,
|
||||||
int out_minsize, int out_maxsize);
|
int out_minsize, int out_maxsize);
|
||||||
extern int preinit_audio_filters(sh_audio_t *sh_audio,
|
extern int preinit_audio_filters(sh_audio_t *sh_audio,
|
||||||
int in_samplerate, int in_channels, int in_format, int in_bps,
|
int in_samplerate, int in_channels, int in_format,
|
||||||
int* out_samplerate, int* out_channels, int* out_format, int out_bps);
|
int* out_samplerate, int* out_channels, int* out_format);
|
||||||
|
16
mplayer.c
16
mplayer.c
@ -950,9 +950,8 @@ static int build_afilter_chain(sh_audio_t *sh_audio, ao_data_t *ao_data)
|
|||||||
playback_speed = (float)new_srate / (float)sh_audio->samplerate;
|
playback_speed = (float)new_srate / (float)sh_audio->samplerate;
|
||||||
}
|
}
|
||||||
result = init_audio_filters(sh_audio, new_srate,
|
result = init_audio_filters(sh_audio, new_srate,
|
||||||
sh_audio->channels, sh_audio->sample_format, sh_audio->samplesize,
|
sh_audio->channels, sh_audio->sample_format,
|
||||||
ao_data->samplerate, ao_data->channels, ao_data->format,
|
ao_data->samplerate, ao_data->channels, ao_data->format,
|
||||||
af_fmt2bits(ao_data->format) / 8, /* ao_data.bps, */
|
|
||||||
ao_data->outburst * 4, ao_data->buffersize);
|
ao_data->outburst * 4, ao_data->buffersize);
|
||||||
mixer.afilter = sh_audio->afilter;
|
mixer.afilter = sh_audio->afilter;
|
||||||
#ifdef HAVE_NEW_GUI
|
#ifdef HAVE_NEW_GUI
|
||||||
@ -2119,16 +2118,10 @@ if(sh_audio){
|
|||||||
if(!preinit_audio_filters(sh_audio,
|
if(!preinit_audio_filters(sh_audio,
|
||||||
// input:
|
// input:
|
||||||
(int)(sh_audio->samplerate*playback_speed),
|
(int)(sh_audio->samplerate*playback_speed),
|
||||||
sh_audio->channels, sh_audio->sample_format, sh_audio->samplesize,
|
sh_audio->channels, sh_audio->sample_format,
|
||||||
// output:
|
// output:
|
||||||
&ao_data.samplerate, &ao_data.channels, &ao_data.format,
|
&ao_data.samplerate, &ao_data.channels, &ao_data.format)){
|
||||||
af_fmt2bits(ao_data.format)/8)){
|
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_AudioFilterChainPreinitError);
|
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_AudioFilterChainPreinitError);
|
||||||
} else {
|
|
||||||
char buf[128];
|
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_INFO,"AF_pre: %dHz %dch %s\n",
|
|
||||||
ao_data.samplerate, ao_data.channels,
|
|
||||||
af_fmt2str(ao_data.format, buf, 128));
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
current_module="ao2_init";
|
current_module="ao2_init";
|
||||||
@ -2143,12 +2136,11 @@ if(sh_audio){
|
|||||||
sh_audio=d_audio->sh=NULL; // -> nosound
|
sh_audio=d_audio->sh=NULL; // -> nosound
|
||||||
} else {
|
} else {
|
||||||
// SUCCESS:
|
// SUCCESS:
|
||||||
char buf[128];
|
|
||||||
inited_flags|=INITED_AO;
|
inited_flags|=INITED_AO;
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_INFO,"AO: [%s] %dHz %dch %s (%d bps)\n",
|
mp_msg(MSGT_CPLAYER,MSGL_INFO,"AO: [%s] %dHz %dch %s (%d bps)\n",
|
||||||
audio_out->info->short_name,
|
audio_out->info->short_name,
|
||||||
ao_data.samplerate, ao_data.channels,
|
ao_data.samplerate, ao_data.channels,
|
||||||
af_fmt2str(ao_data.format, buf, 128),
|
af_fmt2str_short(ao_data.format),
|
||||||
af_fmt2bits(ao_data.format)/8 );
|
af_fmt2bits(ao_data.format)/8 );
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_V,"AO: Description: %s\nAO: Author: %s\n",
|
mp_msg(MSGT_CPLAYER,MSGL_V,"AO: Description: %s\nAO: Author: %s\n",
|
||||||
audio_out->info->name, audio_out->info->author);
|
audio_out->info->name, audio_out->info->author);
|
||||||
|
Loading…
Reference in New Issue
Block a user