summaryrefslogtreecommitdiffstats
path: root/libaf
diff options
context:
space:
mode:
authoranders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-10 01:45:34 +0000
committeranders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-10 01:45:34 +0000
commit05c85403c4fb39643f1d0ab68e2d609fba9da5d7 (patch)
treee97abec82e35f928c102dbfaaf4753f4bb85add3 /libaf
parente1718bed1926f2056fa77d6b15aa74a823b32fa0 (diff)
downloadmpv-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.h4
-rw-r--r--libaf/af_resample.c4
-rw-r--r--libaf/af_volume.c13
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;
}
}