diff options
author | anders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-01-10 01:45:34 +0000 |
---|---|---|
committer | anders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-01-10 01:45:34 +0000 |
commit | 05c85403c4fb39643f1d0ab68e2d609fba9da5d7 (patch) | |
tree | e97abec82e35f928c102dbfaaf4753f4bb85add3 /libaf | |
parent | e1718bed1926f2056fa77d6b15aa74a823b32fa0 (diff) | |
download | mpv-05c85403c4fb39643f1d0ab68e2d609fba9da5d7.tar.bz2 mpv-05c85403c4fb39643f1d0ab68e2d609fba9da5d7.tar.xz |
10l bug for float conversion control + feature fix in volume control
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8869 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf')
-rw-r--r-- | libaf/af.h | 4 | ||||
-rw-r--r-- | libaf/af_resample.c | 4 | ||||
-rw-r--r-- | libaf/af_volume.c | 13 |
3 files changed, 12 insertions, 9 deletions
diff --git a/libaf/af.h b/libaf/af.h index 3ac9d4cacf..4fbb54291a 100644 --- a/libaf/af.h +++ b/libaf/af.h @@ -70,8 +70,8 @@ extern int* af_cpu_speed; #define AF_INIT_TYPE_MASK 0x00000003 #define AF_INIT_INT 0x00000000 -#define AF_INIT_FLOAT 0x00000010 -#define AF_INIT_FORMAT_MASK 0x00000010 +#define AF_INIT_FLOAT 0x00000004 +#define AF_INIT_FORMAT_MASK 0x00000004 // Default init type #ifndef AF_INIT_TYPE diff --git a/libaf/af_resample.c b/libaf/af_resample.c index 5c932fb3b3..06b224c983 100644 --- a/libaf/af_resample.c +++ b/libaf/af_resample.c @@ -279,14 +279,14 @@ static int control(struct af_instance_s* af, int cmd, void* arg) int rate=0; int type=RSMP_INT; int sloppy=1; - sscanf((char*)arg,"%i:%i:%i", &rate, &type, &sloppy); + sscanf((char*)arg,"%i:%i:%i", &rate, &sloppy, &type); s->setup = (sloppy?FREQ_SLOPPY:FREQ_EXACT) | (clamp(type,RSMP_LIN,RSMP_FLOAT)); return af->control(af,AF_CONTROL_RESAMPLE_RATE | AF_CONTROL_SET, &rate); } case AF_CONTROL_POST_CREATE: if((((af_cfg_t*)arg)->force & AF_INIT_FORMAT_MASK) == AF_INIT_FLOAT) - ((af_resample_t*)af->setup)->setup |= RSMP_FLOAT; + ((af_resample_t*)af->setup)->setup = RSMP_FLOAT; return AF_OK; case AF_CONTROL_RESAMPLE_RATE | AF_CONTROL_SET: // Reinit must be called after this function has been called diff --git a/libaf/af_volume.c b/libaf/af_volume.c index 4fc6905f4e..e0ad6d0faa 100644 --- a/libaf/af_volume.c +++ b/libaf/af_volume.c @@ -83,8 +83,8 @@ static int control(struct af_instance_s* af, int cmd, void* arg) return control(af,AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_SET, vol); } case AF_CONTROL_POST_CREATE: - s->fast = (((af_cfg_t*)arg)->force & AF_INIT_FORMAT_MASK) == - AF_INIT_FLOAT ? 1 : 0; + s->fast = ((((af_cfg_t*)arg)->force & AF_INIT_FORMAT_MASK) == + AF_INIT_FLOAT) ? 0 : 1; return AF_OK; case AF_CONTROL_VOLUME_ON_OFF | AF_CONTROL_SET: memcpy(s->enable,(int*)arg,AF_NCH*sizeof(int)); @@ -109,9 +109,12 @@ static int control(struct af_instance_s* af, int cmd, void* arg) case AF_CONTROL_PRE_DESTROY:{ float m = 0.0; int i; - for(i=0;i<AF_NCH;i++) - m=max(m,s->max[i]); - af_msg(AF_MSG_INFO,"The maximum volume was %0.2fdB \n",10*log10(m)); + if(!s->fast){ + for(i=0;i<AF_NCH;i++) + m=max(m,s->max[i]); + af_msg(AF_MSG_INFO,"[volume] The maximum volume was %0.2fdB \n", + 10*log10(m)); + } return AF_OK; } } |