Skip to content
  • Christoph Reiter's avatar
    wasapisink: recover from low buffer levels in shared mode · 8ab9f486
    Christoph Reiter authored and Nirbheek Chauhan's avatar Nirbheek Chauhan committed
    In case the wasapi buffer levels got low in shared mode we would still wait until
    more buffer is available until writing something in it, which means we could never
    catch up and recover.
    
    Instead only wait for a new buffer in case the existing one is full and always write
    what we can. Also don't loop until all data is written since the base class can handle
    that for us and under normal circumstances this doesn't happen anyway.
    
    This only works in shared mode, as in exclusive mode we have to exactly
    fill the buffer and always have to wait first.
    
    This fixes noisy (buffer underrun) playback with the wasapisink under load.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=796354
    
    
    
    Signed-off-by: default avatarNirbheek Chauhan <nirbheek@centricular.com>
    8ab9f486