In AudioBufferSourceNode.cpp, there is a FIXME comment about this. While writing some layout tests, A typo caused my buffer duration to be very short and the grain duration to exceed the buffer duration. Took a while to figure out why the grain was not being played. An exception here would have been nice. As currently implemented, if the grain duration exceeds the buffer duration, nothing is played. Perhaps, whatever can be played from the buffer should be?