summaryrefslogtreecommitdiffstats
path: root/src/modules/echo-cancel/speex.c
Commit message (Collapse)AuthorAgeFilesLines
* echo-cancel: Ensure correct handling of endiannessArun Raghavan2011-03-281-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: Mark immutable parameters as const in vfuncArun Raghavan2011-03-281-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 Raghavan2011-03-281-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 Raghavan2011-03-281-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 Raghavan2011-03-281-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 Raghavan2011-03-281-0/+64
This splits out the echo-cancelling core from the PA-specific bits to allow us to plug in other echo-cancellation engines.