Alsa fixes and cleanups.
authorAndre Noll <maan@systemlinux.org>
Sun, 3 May 2009 16:11:22 +0000 (18:11 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 3 May 2009 16:11:22 +0000 (18:11 +0200)
commit9b5d9adba31e6d42b9dde81fcd3b6f8a0b16bcfc
tree05b1322583fefae02eef722c5e515593505fd6aa
parent44c5fe64eebb185ecc7a406c3db26721834dbea4
Alsa fixes and cleanups.

This patch

- replaces the unused E_SND_PCM_INFO error by E_PHYSICAL_WIDTH,

- checks the return value of snd_pcm_format_physical_width() and returns
  -E_PHYSICAL_WIDTH if this causes bytes_per_frame being non-positive,

- introduces an upper bound for the start threshold. Without that
  change, playback could be delayed by several seconds on some alsa
  configurations (problem pointed out by Johannes W├Ârner, thanks).

- does not return early on input errors which could cause the last
  part of the audio stream being skipped.

- avoids calling snd_pcm_writei() with a frame count of zero which
  could happen with the old code in case there's more than zero but
  less than a full frame of audio data available.

- cleans up the documentation of struct private_alsa_write_data
alsa_write.c
error.h