If you have Max, you might try to see what happens in these two situations:
- read from a buffer smaller than 512 bytes,
- read from a 512 byte buffer but with an offset.it's not "bytes", it's just points, really. So, I tested the second thing. About the first, I guess the idea is that it'll fill the rest with zeros. But my test showed that it'll try to do that but it'll generate some "noise", check the attached picture.