So this is probably a really off the wall idea but something that had come to mind earlier and I'd really like to discuss some of the more technical aspects of such a thing as I have tried to mull a lot of them in my head but am not 100% certain on some of them.
But basically I had the idea come up of doing a basic timeshift feature for the FM radio aspect of rockbox where, by default, it'll begin recording and hold a set amount to be able to rewind or fast forward as desired.
Unfortunately a number of technicalities would probably have to be really player specific. Examples being hard disk players could easily handle a buffer on the drive where NAND/flash players would probably prefer to use available RAM to cut down on the wasted write cycles. And unfortunately some of said flash players would have little ram to begin with and probably near impossible to use.
Another thought that came to mind is that when forcing the ADC in the FM capable players to begin digitizing that input, it seems like the passthrough to pipeline to the headphones is cut out and rather you are fed what seems like the PCM feed off the ADC which may or may not limit the quality of the audio (at least for the v1 Sansas, this is the known 22.050khz rate where FM has a range of up to 32khz usually. Not sure how many other FM capable players are like this.). Or is this just a method used by rockbox given the monitoring functions of the recorder app? Either way, time shifting would be limited to the capabilities of the ADC which often is sub-par so if it truly is desired, would have to be optional.
Codec-wise: Obviously something compressed. Only way I could see it working is to use something that really doesn't need a 'start' and and 'end' to where a set filesize limit can be given (like 10MB purely as an example) and once the buffer file hits that point it starts to trim off bits at the beginning as it continues to record. Dunno how well OGG or MP3 would handle that but worth a ponderance.
So yeah, fairly big idea there. But I'm of the mindset that even if someone can't do the work on it, the brainstorming of ideas is just as crucial.