summaryrefslogtreecommitdiffstats
path: root/libaf
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-09-15 11:41:23 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-09-15 11:41:23 +0000
commite3d0df70fea5c80baec3a75142ba53b22d3a61b8 (patch)
tree98bb30f76214dd38cd85db207f338bff6de873b4 /libaf
parent3567bcac061c92b3ff9e52c0cfaf4ec8c08d9b56 (diff)
downloadmpv-e3d0df70fea5c80baec3a75142ba53b22d3a61b8.tar.bz2
mpv-e3d0df70fea5c80baec3a75142ba53b22d3a61b8.tar.xz
Fix af_pan commandline mess and (hopefully) improve description.
It should now output the right number of channels and it doesn't silently clamp values to the too restrictive [0, 1] range. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16494 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf')
-rw-r--r--libaf/af_pan.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libaf/af_pan.c b/libaf/af_pan.c
index 8a8aa241fc..9f135c2b7f 100644
--- a/libaf/af_pan.c
+++ b/libaf/af_pan.c
@@ -64,10 +64,9 @@ static int control(struct af_instance_s* af, int cmd, void* arg)
cp = &((char*)arg)[n];
j = 0; k = 0;
while((*cp == ':') && (k < AF_NCH)){
- sscanf(cp, ":%f%n" , &s->level[k][j], &n);
- s->level[k][j] = clamp(s->level[k][j],0.0,1.0);
+ sscanf(cp, ":%f%n" , &s->level[j][k], &n);
af_msg(AF_MSG_VERBOSE,"[pan] Pan level from channel %i to"
- " channel %i = %f\n",j,k,s->level[k][j]);
+ " channel %i = %f\n",k,j,s->level[j][k]);
cp =&cp[n];
j++;
if(j>=nch){
@@ -81,14 +80,18 @@ static int control(struct af_instance_s* af, int cmd, void* arg)
int i;
int ch = ((af_control_ext_t*)arg)->ch;
float* level = ((af_control_ext_t*)arg)->arg;
+ if (ch >= AF_NCH)
+ return AF_FALSE;
for(i=0;i<AF_NCH;i++)
- s->level[ch][i] = clamp(level[i],0.0,1.0);
+ s->level[ch][i] = level[i];
return AF_OK;
}
case AF_CONTROL_PAN_LEVEL | AF_CONTROL_GET:{
int i;
int ch = ((af_control_ext_t*)arg)->ch;
float* level = ((af_control_ext_t*)arg)->arg;
+ if (ch >= AF_NCH)
+ return AF_FALSE;
for(i=0;i<AF_NCH;i++)
level[i] = s->level[ch][i];
return AF_OK;