|
|
|
|
|
by myself248
606 days ago
|
|
What I don't understand, is why the upstream audio doesn't just buffer while the downstream thing processing it is blocked. Why should that result in audible artifacts, can't it just catch up with the rest of the buffer later? Buffer overruns feels very 1996-cd-burner-ish. Ope, burned a coaster, let's try this hellaciously real-time-bound thing again with inadequate buffering and I/O devices that have unpredictable latency. What am I missing? |
|
If you can manage with large latency, then sure, buffer the hell out of everything and your chances of losing data will be close to zero.
If you need low latency, you cannot buffer the hell out of everything, and anything that interferes with the data flow runs the risk of causing an underrun.
The solution in the CD burner case was easy: massive latency is fine, so buffer the hell out of it, and it just works.
The solution for low-latency audio anything is not so easy: you can't buffer the hell out of it, which means you're susceptible to hardware and software issues that disrupt timing and end up causing underruns/overruns.