pulse: fix negative PA_ERR_NODATA comparison in pulse_delay
A message that is not in the archive (sent off-list or not yet received): alsa-project/alsa-plugins/pr/[email protected]
alsa-project/alsa-plugins pull request #68 was opened from dirty49374:
When pa_stream_get_latency() returns -PA_ERR_NODATA, pulse_delay() compares it against the positive PA_ERR_NODATA constant and returns -EIO. This turns temporarily unavailable latency information into an I/O error for ALSA clients.
Compare against -PA_ERR_NODATA so this case follows the existing mainloop wait/retry path. Other errors still return -EIO.
Validation:
- Built the PulseAudio plugins with make -C pulse -j4.
- A local test harness exercising the actual pulse_delay() implementation passed success, temporary NODATA/retry, permanent error, retry followed by permanent error, and connection failure cases. The NODATA regression case fails with the original comparison. The harness is not included in this one-line patch.
- In a 20-second local CPAL/ALSA integration probe, injecting -PA_ERR_NODATA during capture and playback produced I/O errors with the original plugin; the source-built patched plugin continued with zero reported stream errors.
Request URL : https://github.com/alsa-project/alsa-plugins/pull/68
Patch URL : https://github.com/alsa-project/alsa-plugins/pull/68.patch
Repository URL: https://github.com/alsa-project/alsa-plugins