The docs only explicitly state that the write() functions block.  I think I can hack around it with setNotificationMarkerPosition(m_frames_written), then wait to get the callback.  I need to see what the implications of this might be and how to go about it with JNI, though.