audio latecy usage meter at 100% when track loaded + paused
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Critical
|
Unassigned |
Bug Description
today I faced something really strange.
64bits 1.12 git5545 on win10 64bits
track was playing in deck 1. deck 2-4 were empty.
buffer fill indicator was low.
loaded a track in deck 2, on played it. buffer indicator still low.
as soon as I paused deck 1, the buffer indicator jumped very high in the red, stayed there and sound (from track in deck 2) began to be crackling.
so I played a bit with this situation (glad it was not during a gig), and found that the high buffer only happens when there is a paused track loaded in deck 1.
if you eject track, the buffer indicator becomes low.
if you play the track, no problem.
if you load a new track (paused at load), it begins to fill buffer and produce bad sound.
so if a track is loaded and paused in deck 1, buffer fill indicator jumps into red and sound begin to be so bad that it is unusable.
I did not see the same for other decks.
If I restart mixxx, everything works fine for some time.
I thing we face a race condition when, sometimes, maybe in particular conditions, you pause a track.
I'm not sure I will be able to reproduce it easily.
What can I check/do to gather more information ?
Changed in mixxx: | |
status: | New → Fix Committed |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
I assume you "buffer indicator" the the "Audio Latency Usage Meter".
By the selected Audio Buffer in hardware preferences, you define the 100 % lets say 23 ms.
For a non crackling sound, Mixxx has to process chunks of 23 ms samples in time < 23 ms.
If it takes 11 ms the "Audio Latency Usage Meter" is at 50 %. If it takes 24 ms, one chunk is skipped.
I guess you use a non SSE build. I had exactly the same issues on Linux.
You should use at least
scons optimize=portable
or just
scons
Even if a Deck is paused the silence stream is processed. If the samples are not exactly 0 but near, the CPU uses a lot of extra cycles to still produce scientific exact results. /en.wikipedia. org/wiki/ Denormal_ number
https:/
We have to bes sure that the de-normals are treated as 0, to prevent this issue on Windows as well. /github. com/mixxxdj/ mixxx/blob/ 3f854c167408460 9497036ba92e160 5a43fb492f/ src/sounddevice portaudio. cpp#L772
This should happen here
https:/
do you see the
"SSE: Enabling denormals to zero mode"
log message?