Commits


convert to imsg_get_type()


convert to imsg_get_fd()


use imsg_get_data() instead of accessing imsg.data


rename ibuf arguments to imsgbuf ibuf is just too confusing since there is also the 'struct ibuf'.


unbreak percentage relative seeking


cache audio_nfds() ALSA' snd_pcm_poll_descriptors_count() can fail with -EPIPE after an underrun (e.g. after a pause), so we can't call it directly like this. It's also a bit sloppy to always call audio_nfds(), so instead save the (initial) value returned and pass it to the various functions. Issue reported and fix tested by phoebos (ben [at] bvnf [dot] space), thank you!


adjust copyright years


fix my email address used @openbsd.org initially by mistake and got copied around in most files. Since this has nothing to do officially with the OpenBSD project, use my own email address.


split out sndio-specific parts to audio_sndio.c This hides the libsndio bits behind a small audio_* API for which in the future we may provide multiple implementations.


use %u for unsigned int instead of %d


retry on sio_revents failure due to EAGAIN I've noticed that often during the suspend/resume cycle amused could die due to a "sndio hang-up" caused by an EAGAIN. This should prevent that and make sure we retry the operation.


don't ignore ERRNO from sio_revents


implement seeking on percentage of total duration


allow to seek to the beginning with -1 if the computed seek was less than 0 it skips the seek. It's more useful to just rewind to the beginning.


use (a modified version of) kristaps' oconfigure see GitHub issue #1