I removed the mutex locks from pa_callback by moving some stuff around. 
Maybe I did it wrong, but it didn't seem much better.

When stuttering I see "pa_callback: SLIMAUDIO_BUFFER_STREAM_UNDERRUN". 
It seems like this happens at two different times.  Sometimes it happens
as the old track is still going before it switches to the new one.  I
would guess in this case the thread that stuffs the data into the
decoder does not have enough priority or something, as it should have
plenty of buffer available.  Switching to the new track is taking too
much CPU away from it.  Just guessing at this point.

However, usually I only see the underrun when the new track is starting
up.  I've modified the predelay into a prebuffer where it will wait for
X ms of buffer to be filled before starting the track.  This means that
it won't always wait for X ms of time if the buffer fills up quick. 
Also it means it will wait longer if it takes longer.  Not a perfect
solution but it seems to work better for me.


-- 
rpress
------------------------------------------------------------------------
rpress's Profile: http://forums.slimdevices.com/member.php?userid=31544
View this thread: http://forums.slimdevices.com/showthread.php?t=83362

_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/discuss

Reply via email to