Request: Output buffer length below 50ms
Reply #2 – 2011-12-13 10:30:00
foobar2000 is a player, not a realtime processor. It was not designed to handle such latencies. You will run into problems due to how foobar2000's internals work; on top of that, I doubt you will ever achieve latencies acceptable for your purposes because foo_record and your DSPs introduce latencies on their own.If you search the web, you will find numerous owners of asynchronous USB DACs who state: "I discovered that if I turned the foobar2000 buffer down to its lowest point of 50, that reduced the pops and dropouts, but did not entirely eliminate them". These devices appear to have rather dodgy interaction with WASAPI. The correct solution for this issue is NOT using WASAPI rather than turning the buffer size down - which doesn't even properly help to begin with (does not entirely eliminate glitches) and mutilates foobar2000's resistance against file reading lag.So, simply allowing this slider to go all the way down to zero would help both people like the previous poster who need low latency (this would include music performers), and also USB DAC users. There is no such thing as "zero latency", whatever you think you've done with another player, it's certainly not "zero" latency, just whatever lowest value allowed by the driver. Also you quite misunderstood what the DAC developer person meant:The small hardware buffer is more challenged as the sample rate increases and if the host is late in adjusting its data payload then over/under runs become possible (this is almost certainly what you are hearing). For a simplex operation such as a playback only system, there is no need to have buffers of any size as latency isn't an issue. There is no need to have buffers of any specific size when low latency isn't required. Software audio playback IMPLIES some level of buffering. In fact, this quote explicitly says that small buffers are more prone to glitching, which I can agree with, but you seem to have drawn your own opposite conclusions from it.