Buffers now hold on to a reference for the input, so the input object doesn't get freed (and carry the buffers with it) before all the buffers are freed.