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:
parent
f687663a75
commit
c9052b1092
15
libaf/af.c
15
libaf/af.c
@ -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
|
||||
|
11
libaf/af.h
11
libaf/af.h
@ -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);
|
||||
|
@ -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 :(
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user