#588 closed enhancement (fixed)
Improvements to echo cancellation framework
Reported by: | bennylp | Owned by: | nanang |
---|---|---|---|
Priority: | normal | Milestone: | release-1.0-rc1 |
Component: | pjmedia | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description
Modify the echo cancellation framework as follow to make it easier to integrate with new echo cancellation backends, and to generally improve it. These changes should be backward compatible.
- Support for multi-channel echo cancellation:
- Add new API to specify channel count
- Modify EC backends to support multi-channel EC (latest Speex AEC supports this)
- Change the semantic of options flag when creating the EC, to allow application to choose which EC backend to use when there are multiple backend algorithm.
- Move the latency compensation functionality from Speex EC (echo_speex.c) to the generic EC framework (echo_common.c) so that it can be reused by other backends.
- Since the common EC framework now does the buffering, remove the ec_playback() and ec_capture() internal API from the backends. The backends now only need to supply ec_cancel() API, which is simpler, and this opens support for more backends.
- Add new reset API.
- Modify the aectest.c to work with WAV files instead of live recording. This would make it easier to test.
Change History (2)
comment:1 Changed 16 years ago by bennylp
- Resolution set to fixed
- Status changed from new to closed
comment:2 Changed 16 years ago by bennylp
Note:
- with the previous commit, Speex AEC currently does not support multi-channel EC. This will be updated by ticket #589
Note: See
TracTickets for help on using
tickets.
Done in r2198. Also in this changeset: