• Takashi Sakamoto's avatar
    ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size · 826b5de9
    Takashi Sakamoto authored
    In a former commit, PCM constraint based on LCM of SYT_INTERVAL was
    obsoleted with PCM rule. However, the new PCM rule brings -EINVAL in
    some cases that max/min values of size of buffer/period is not
    multiples of one of values of SYT_INTERVAL. For example, pulseaudio
    always fail to configure PCM substream.
    
    This commit changes strategy for the PCM rule. Although the buggy rules
    had a single dependency (rate from period, period from rate, rate from
    buffer, buffer from rate), a revised rule has double dependencies
    (period from period/rate, buffer from buffer/rate). A step of value is
    calculated with table of SYT_INTERVAL and list of available rates. This
    prevents interval template which brings -EINVAL to a call of
    snd_interval_refine().
    
    Fixes: 59502295('ALSA: firewire-lib: add PCM rules to obsolete PCM constraints based on LCM of SYT_INTERVAL')
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    826b5de9
amdtp-stream.c 28.6 KB