diff options
author | zuxy <zuxy@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-06-17 12:18:13 +0000 |
---|---|---|
committer | zuxy <zuxy@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-06-17 12:18:13 +0000 |
commit | 6e6d3acfa9b3a9d6d9bc9a9697202af62e3c9f92 (patch) | |
tree | d2ad215efd36600c066c75bdc201fe3df87c0385 /libaf/af_pan.c | |
parent | 2c1ee29835bc381f150a578afcd0b30b7423554b (diff) | |
download | mpv-6e6d3acfa9b3a9d6d9bc9a9697202af62e3c9f92.tar.bz2 mpv-6e6d3acfa9b3a9d6d9bc9a9697202af62e3c9f92.tar.xz |
Add AF_CONTROL_PAN_BALANCE control
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23571 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf/af_pan.c')
-rw-r--r-- | libaf/af_pan.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libaf/af_pan.c b/libaf/af_pan.c index 12955897d7..7d25e1afde 100644 --- a/libaf/af_pan.c +++ b/libaf/af_pan.c @@ -111,6 +111,23 @@ static int control(struct af_instance_s* af, int cmd, void* arg) case AF_CONTROL_PAN_NOUT | AF_CONTROL_GET: *(int*)arg = af->data->nch; return AF_OK; + case AF_CONTROL_PAN_BALANCE | AF_CONTROL_SET:{ + float val = *(float*)arg; + if (s->nch) + return AF_ERROR; + if (af->data->nch >= 2) { + s->level[0][0] = min(1.f, 1.f - val); + s->level[0][1] = max(0.f, val); + s->level[1][0] = max(0.f, -val); + s->level[1][1] = min(1.f, 1.f + val); + } + return AF_OK; + } + case AF_CONTROL_PAN_BALANCE | AF_CONTROL_GET: + if (s->nch) + return AF_ERROR; + *(float*)arg = s->level[0][1] - s->level[1][0]; + return AF_OK; } return AF_UNKNOWN; } |