> >       mt = per*(bsize/secsize)/100 * 1000 / secsps/s;
> >to
> >       mt = (per-50)*(bsize/secsize)/100 * 1000 / secsps/s;
> 
> Did it help?

Yes, it seems so... BTW I've added call to cdr_buffer_cap right
after usleep and here is what I get (I print the return value from
cdr_buffer_cap).

with "mt = per*..." and -dao [results in underrun!!!]:

Track 01:    1 of   32 MB written (fifo 100%) [buf  97%] |300  826ms   826ms| after 
sleep 100%    0.4x

with "mt = per*..." without -dao [also results in underrun!!!]:

Track 01:    1 of   32 MB written (fifo  96%) [buf  72%] |140   57ms   613ms| after 
sleep 72%   32.5x
Track 01:    2 of   32 MB written (fifo 100%) [buf  98%] |307  825ms   836ms| after 
sleep 2%    5.0x

with "mt = (per-50)*..." and -dao [works!!!]:

Track 01:    1 of   32 MB written (fifo 100%) [buf  97%] |300  400ms   400ms| after 
sleep 49%    0.4x
Track 01:    2 of   32 MB written (fifo  96%) [buf  89%] |249  316ms   332ms| after 
sleep 51%   10.5x
Track 01:    3 of   32 MB written (fifo 100%) [buf  88%] |243  267ms   324ms| after 
sleep 56%   12.1x
Track 01:    4 of   32 MB written (fifo 100%) [buf  96%] |294  284ms   392ms| after 
sleep 61%   13.8x

with "mt = (per-50)*..." without -dao [also works!!!]:

Track 01:    1 of   32 MB written (fifo 100%) [buf  72%] |140   54ms   186ms| after 
sleep 72%   34.2x
Track 01:    2 of   32 MB written (fifo 100%) [buf  97%] |300  400ms   400ms| after 
sleep 50%    5.0x
Track 01:    3 of   32 MB written (fifo  98%) [buf  87%] |236  294ms   314ms| after 
sleep 52%   10.7x
Track 01:    4 of   32 MB written (fifo 100%) [buf  91%] |262  264ms   349ms| after 
sleep 59%   13.2x

The drive is Ricoh MP2125 based. It reports 1470 bytes for buffer
space in reply to READ BUFFER CAPACITY. Sleeping for 800ms results
in 1200 bytes at 10x which is pretty much the whole buffer capacity
[at least with one audio block accuracy]. The fact that you see
"after sleep 100%" in first line is not a "lie," but indication that
unit has already suffered from underrun at exit from usleep. So
that it's hardly drive or usleep's fault.

But another question [related to -v bug/feature!] is following.
Is it intentional that it considers to fall asleep after every 1MB
written? I mean 1MB is 1/2 of buffer and it probably should consider
usleep more often so that unit buffer wouldn't be drained that much?

A.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to