• Oswald Buddenhagen's avatar
    Revert "ALSA: emu10k1: fix synthesizer sample playback position and caching" · 03f56ed4
    Oswald Buddenhagen authored
    As already anticipated in the original commit, playback was broken for
    very short samples. I just didn't expect it to be an actual problem,
    because we're talking about less than 1.5 milliseconds here. But clearly
    such wavetable samples do actually exist.
    
    The problem was that for such short samples we'd set the current
    position beyond the end of the loop, so we'd run off the end of the
    sample and play garbage.
    This is a bigger (more audible) problem than the original one, which was
    that we'd start playback with garbage (whatever was still in the cache),
    which would be mostly masked by the note's attack phase.
    
    So revert to the old behavior for now. We'll subsequently fix it
    properly with a bigger patch series.
    Note that this isn't a full revert - the dead code is not re-introduced,
    because that would be silly.
    
    Fixes: df335e9a ("ALSA: emu10k1: fix synthesizer sample playback position and caching")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=218625Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
    Message-ID: <20240401145805.528794-1-oswald.buddenhagen@gmx.de>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    03f56ed4
emu10k1_callback.c 12 KB