I copied a music cd using on-the-fly copy with the read and
write speed as in the Subject (R 12X, W 4X).
With all my naive intuition, if I read at 12X and write at only 4X
a modest number of buffers should be enough to compensate
for the possible small flutuations in resources availability in the
I ran the above with 64 buffers and got an underrun almost
immediately (a few seconds). I increased to 256 buffers and
it was able to copy 4 songs before the underrun, reporting
how the buffer utilization went down from 100% to 0%
which is when the underrun occured.
Eventually, I increased the buffers to over a thousand,
and the 16 songs got copied.
Although it succeeded, this makes NO sense to me.
If I read faster than I write, for the most part there should
be very little need for buffering. 2-3 buffers are a good
precaucionary idea, but should be seen consistently full
at 100% (or somewhere between 90% - 100%).
Where does my reasoning fail?
Thanks for any enlighenment!!
Log in to post a comment.