summaryrefslogtreecommitdiffstats
path: root/src/modules/echo-cancel/speex.c
Commit message (Collapse)AuthorAgeFilesLines
* echo-cancel: Fix a crash is speex cleanupArun Raghavan2011-05-281-1/+2
| | | | | | If module initialisation fails, the speex done() function might try to free a value that's not been allocated yet. Adding protection for this condition.
* Fix up according to Coding StyleMaarten Bosmans2011-03-111-8/+6
| | | | Only whitespace changes in here
* echo-cancel: Ensure correct handling of endiannessArun Raghavan2010-09-231-1/+1
| | | | | | The adrian module was using home-brewed endianness conversion instead of the appropriate mactos, and speex assumed a little-endian host. This fixes both of these.
* echo-cancel: Add SSE optimisation to the adrian moduleArun Raghavan2010-09-231-1/+1
| | | | | | Optimises the core inner-product function, which takes the most CPU. The SSE-optimised bits of the adrian echo canceller only if the CPU that PA is running on actually supports SSE.
* echo-cancel: Mark immutable parameters as const in vfuncArun Raghavan2010-09-071-1/+1
| | | | | Marks the recording and playback streams as const in the pa_echo_canceller->run method for clarity.
* echo-cancel: Make blocksize a module-wide parameterArun Raghavan2010-09-071-8/+3
| | | | | | 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.
* echo-cancel: Let AEC module determine source/sink specArun Raghavan2010-09-071-5/+20
| | | | | | | | | | | | | Since the source and sink specification will need to be determined by the AEC algorithm (can it handle multi-channel audio, does it work with a fixed sample rate, etc.), we negotiate these using inout parameters at initialisation time. There is opportunity to make the sink-handling more elegant. Since the sink data isn't used for playback (just processing), we could pass through the data as-is and resample to the required spec before using in the cancellation algorithm. This isn't too important immediately, but would be nice to have.
* echo-cancel: Pass arguments to the specific canceller moduleArun Raghavan2010-09-071-6/+48
| | | | | This allows us to tweak module parameters for whichever AEC module is chosen.
* echo-cancel: Split out speex code from the core moduleArun Raghavan2010-09-071-0/+64
This splits out the echo-cancelling core from the PA-specific bits to allow us to plug in other echo-cancellation engines.