https://bugs.winehq.org/show_bug.cgi?id=38421
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |quartz
--- Comment #10 from Zebediah Figura z.figura12@gmail.com --- Now that I have a better understanding of how quartz works:
The program is chaining a series of filters with the names:
WMRenderer Source Filter -> WMPlayer Time Compression DMO -> Volume Normalization DMO -> Seamless Audio DMO -> WMPlayer SRSWow DMO -> WMPlayer Equalizer DMO -> WMPlayer Spectrum Analyzer DMO -> Audio Renderer
Only the last one is ours. The source filter internally uses msacm32 to convert mp3 to wav. But the problem isn't there; indeed using native l3codeca.acm shows the same problem. The problem is actually the "Seamless Audio DMO", which seems to be completely dropping any samples which are quieter than a certain cutoff. Sort of like a gate, except that the samples are removed completely rather than just being truncated to silence.
I think the regression is not because it couldn't find an mp3 -> wav DMO (there isn't necessarily one on Windows either), but rather because if DMOGetName() works it won't add these intermediate filters.
Since native quartz fixes the problem, I'm setting the component to quartz. It's not clear what we should be doing—either not adding the filter, or perhaps there's something wrong with how we're passing samples around.