Latency options insufficient
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Low
|
William Good |
Bug Description
I seem to get queries about this every couple of weeks and while I know the status of this in my head maybe this'll help others.
As of the merging of the new sound hardware preferences (last Fall, I think), latency has been restricted to (approx) 40ms. FYI, it's approximate because our latencies work out to be something like (hope this lovely table works):
Sample rate (Hz) | 44100 | 48000 | 96000
Buffer Size (frames) | | |
And the number of available latencies is controlled by a constant (MAX_LATENCY) in soundmanagercon
Apparently that's not high enough for some computers or audio interfaces (or combinations), but the problem *isn't* the preferences code, it's a problem lurking somewhere murky in the engine. Even if the terrible screeches are less common at 85ms/92ms than they are at higher latencies/buffer sizes, I'm not going to be ok with increasing that constant because there's a really high probability of someone else, or the same someone, showing up with reports of hideous screeching noises in the middle of their show with mixxx and how it totally ruined the night and how their sponsor/bar owner now hates them. Reputation is everything in DJing, and mixxx is actually starting to make gains -- it should be top priority to make sure regressions of this sort are not made. The drunk are quite fickle; nasty audio disturbances are enough to send them elsewhere, get a DJ sent on, and lose Mixxx a user.
Related branches
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
Apparently someone awesome (Owen?) fixed the engine bug that was making for weird audio distortion at large buffer sizes sometime post-1.9. Therefore, the ~80ms latency option has been re-enabled in 1.10 (r2838) and trunk.
Because ~80ms latency implies controlobjects are only synced ~12 times/second, GUI elements depending on engine status data (waveform, VU meters, ...) appear somewhat jerky at higher latencies but that's to be fixed another day.