1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-02 05:01:56 +00:00

Adding support for more logical libaf configuration

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8970 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
anders 2003-01-17 01:00:07 +00:00
parent f687663a75
commit c9052b1092
3 changed files with 20 additions and 8 deletions

View File

@ -310,9 +310,12 @@ void af_uninit(af_stream_t* s)
and output should contain the format of the current movie and the
formate of the preferred output respectively. The function is
reentrant i.e. if called with an already initialized stream the
stream will be reinitialized. The return value is 0 if success and
-1 if failure */
int af_init(af_stream_t* s)
stream will be reinitialized. If the binary parameter
"force_output" is set, the output format will be converted to the
format given in "s", otherwise the output fromat in the last filter
will be copied "s". The return value is 0 if success and -1 if
failure */
int af_init(af_stream_t* s, int force_output)
{
int i=0;
@ -346,6 +349,12 @@ int af_init(af_stream_t* s)
if(AF_OK != af_reinit(s,s->first))
return -1;
// If force_output isn't set do not compensate for output format
if(!force_output){
memcpy(&s->output, s->last->data, sizeof(af_data_t));
return 0;
}
// Check output format
if((AF_INIT_TYPE_MASK & s->cfg.force) != AF_INIT_FORCE){
af_instance_t* af = NULL; // New filter

View File

@ -124,10 +124,13 @@ typedef struct af_stream_s
if necessary according to the values set in input and output. Input
and output should contain the format of the current movie and the
formate of the preferred output respectively. The function is
reentrant i.e. if called wit an already initialized stream the
stream will be reinitialized. The return value is 0 if success and
-1 if failure */
int af_init(af_stream_t* s);
reentrant i.e. if called with an already initialized stream the
stream will be reinitialized. If the binary parameter
"force_output" is set, the output format will be converted to the
format given in "s", otherwise the output fromat in the last filter
will be copied "s". The return value is 0 if success and -1 if
failure */
int af_init(af_stream_t* s, int force_output);
// Uninit and remove all filters
void af_uninit(af_stream_t* s);

View File

@ -304,7 +304,7 @@ int init_audio_filters(sh_audio_t *sh_audio,
afs->output.rate,afs->output.nch,afs->output.bps*8);
// let's autoprobe it!
if(0 != af_init(afs)){
if(0 != af_init(afs,1)){
free(afs);
return 0; // failed :(
}