diff options
author | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2010-09-07 14:55:38 +0530 |
---|---|---|
committer | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2011-03-28 14:41:00 +0530 |
commit | b6b8a7b7a7f4f8badd39ebb4ee2be1c11ff1a204 (patch) | |
tree | 6a8a55197b911e23e54bbfbc755f2f9eb440c66a /src/modules/echo-cancel/adrian.c | |
parent | 4a9fa8cc7ff0963fbf794a0018445604f69721e7 (diff) |
echo-cancel: Make blocksize a module-wide parameter
Since all algorithms will need to specify a block size (the amount of
data to be processed together), we make this a common parameter and have
the implementation set it at initialisation time.
Diffstat (limited to 'src/modules/echo-cancel/adrian.c')
-rw-r--r-- | src/modules/echo-cancel/adrian.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/modules/echo-cancel/adrian.c b/src/modules/echo-cancel/adrian.c index 86c22cb3..1b913737 100644 --- a/src/modules/echo-cancel/adrian.c +++ b/src/modules/echo-cancel/adrian.c @@ -54,7 +54,7 @@ static void pa_adrian_ec_fixate_spec(pa_sample_spec *source_ss, pa_channel_map * pa_bool_t pa_adrian_ec_init(pa_echo_canceller *ec, pa_sample_spec *source_ss, pa_channel_map *source_map, pa_sample_spec *sink_ss, pa_channel_map *sink_map, - const char *args) + uint32_t *blocksize, const char *args) { int framelen, rate; uint32_t frame_size_ms; @@ -76,9 +76,9 @@ pa_bool_t pa_adrian_ec_init(pa_echo_canceller *ec, rate = source_ss->rate; framelen = (rate * frame_size_ms) / 1000; - ec->params.priv.adrian.blocksize = framelen * pa_frame_size (source_ss); + *blocksize = ec->params.priv.adrian.blocksize = framelen * pa_frame_size (source_ss); - pa_log_debug ("Using framelen %d, blocksize %lld, channels %d, rate %d", framelen, (long long) ec->params.priv.adrian.blocksize, source_ss->channels, source_ss->rate); + pa_log_debug ("Using framelen %d, blocksize %u, channels %d, rate %d", framelen, ec->params.priv.adrian.blocksize, source_ss->channels, source_ss->rate); ec->params.priv.adrian.aec = AEC_init(rate); if (!ec->params.priv.adrian.aec) @@ -114,8 +114,3 @@ void pa_adrian_ec_done(pa_echo_canceller *ec) pa_xfree(ec->params.priv.adrian.aec); ec->params.priv.adrian.aec = NULL; } - -uint32_t pa_adrian_ec_get_block_size(pa_echo_canceller *ec) -{ - return ec->params.priv.adrian.blocksize; -} |