I can do this, but I need you to do some more up-front investigation first. See if you can use strace to determine how the player requests the write to the partition -- does it do a write("/dev/hdaX", ...), or does it use mmap(), or what.. ??
We open() /dev/hda3 and then read() and write() it. I'm pretty sure we only do so on sector boundaries.

Peter