We need to expirement with modifying the following files:
/rockbox/firmware/pcm_playback.c /rockbox/firmware/pcm_record.c
We want to modify dma_start to drop the input audio to our function to phase shift the input audio, and then drop the shifted audio to dma for audio output.
We can create a plugin for this whole thing, or we can rip into the Rockbox code directly
Pros of a plugin:
Cons of a plugin: * Possible performance limited * Possibly more difficult to integrate other functions that will run threads in parallel with our plugin
We could also re-implement the Rockbox code directly:
Pros of direct code modification:
Cons of direct code modification: