summaryrefslogtreecommitdiffstats
path: root/libaf/af_hrtf.c
diff options
context:
space:
mode:
authoruau <uau@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-11-01 06:52:01 +0000
committeruau <uau@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-11-01 06:52:01 +0000
commit7deec05ea0d14dd950715f232b9e7cb7183dd333 (patch)
treea669500520b58be3ba988f7a3e7e0b7d802e0313 /libaf/af_hrtf.c
parentc6824f577ee5da01a7bb0b787d0253da925c2c0f (diff)
downloadmpv-7deec05ea0d14dd950715f232b9e7cb7183dd333.tar.bz2
mpv-7deec05ea0d14dd950715f232b9e7cb7183dd333.tar.xz
libaf: change filter input/output ratio calculations
Change the audio filters to use a double instead of rationals for the ratio of output to input size. The rationals could overflow when calculating the overall ratio of a filter chain and gave no real advantage compared to doubles. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24916 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf/af_hrtf.c')
-rw-r--r--libaf/af_hrtf.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libaf/af_hrtf.c b/libaf/af_hrtf.c
index 3e973f62f2..e8d0b9cd14 100644
--- a/libaf/af_hrtf.c
+++ b/libaf/af_hrtf.c
@@ -293,8 +293,7 @@ static int control(struct af_instance_s *af, int cmd, void* arg)
af->data->format = AF_FORMAT_S16_NE;
af->data->bps = 2;
test_output_res = af_test_output(af, (af_data_t*)arg);
- af->mul.n = 2;
- af->mul.d = af->data->nch;
+ af->mul = 2.0 / af->data->nch;
// after testing input set the real output format
af->data->nch = 2;
s->print_flag = 1;
@@ -560,7 +559,7 @@ static af_data_t* play(struct af_instance_s *af, af_data_t *data)
/* Set output data */
data->audio = af->data->audio;
- data->len = (data->len * af->mul.n) / af->mul.d;
+ data->len = data->len / data->nch * 2;
data->nch = 2;
return data;
@@ -597,8 +596,7 @@ static int af_open(af_instance_t* af)
af->control = control;
af->uninit = uninit;
af->play = play;
- af->mul.n = 1;
- af->mul.d = 1;
+ af->mul = 1;
af->data = calloc(1, sizeof(af_data_t));
af->setup = calloc(1, sizeof(af_hrtf_t));
if((af->data == NULL) || (af->setup == NULL))