• Takashi Iwai's avatar
    ALSA: usb-audio: Reduce latency at playback start · 9ce650a7
    Takashi Iwai authored
    USB-audio driver behaves a bit strangely for the playback stream --
    namely, it starts sending silent packets at PCM prepare state while
    the actual data is submitted at first when the trigger START is kicked
    off.  This is a workaround for the behavior where URBs are processed
    too quickly at the beginning.  That is, if we start submitting URBs at
    trigger START, the first few URBs will be immediately completed, and
    this would result in the immediate period-elapsed calls right after
    the start, which may confuse applications.
    
    OTOH, submitting the data after silent URBs would, of course, result
    in a certain delay of the actual data processing, and this is rather
    more serious problem on modern systems, in practice.
    
    This patch tries to revert the workaround and lets the URB submission
    starting at PCM trigger for the playback again.  As far as I've tested
    with various backends (native ALSA, PA, JACK, PW), I haven't seen any
    problems (famous last words :)
    
    Note that the capture stream handling needs no such workaround, since
    the capture is driven per received URB.
    
    Link: https://lore.kernel.org/r/20210601162457.4877-6-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    9ce650a7
pcm.c 42.4 KB