Created attachment 171185 [details] sndio.diff Sndio is a small audio and MIDI framework part of the OpenBSD project. It provides an lightweight audio & MIDI server and a fully documented user-space API to access either the server or directly the hardware in a uniform way. Sndio is designed to work for desktop applications, but pays special attention to synchronization mechanisms and reliability required by music applications. Reliability through simplicity are part of the project goals. WWW: http://www.sndio.org/ ------ Because no FreeBSD port has sndio support atm but most have PulseAudio support, the attached diff also includes a sndio module for PulseAudio. This makes playing to a remote sndio server possible right now and without patching any ports. sndio has no hardware support for FreeBSD's OSS atm, so local playback is not yet possible. I hope the 2-in-1 diff is ok. It makes no sense to commit only audio/sndio alone. sndio is unique in that playing audio over the network is possible without any stuttering (even on slow links) and with very little setup. Something I was never able to figure out with PulseAudio.
Created attachment 171186 [details] audio/sndio Poudriere testport log FreeBSD 10.2/amd64
Created attachment 171187 [details] audio/pulseaudio-module-sndio Poudriere testport log FreeBSD 10.2/amd64
I'm gathering patches for adding sndio support to other ports over at https://github.com/freebsd/freebsd-ports/compare/master...t6:sndio
Created attachment 172828 [details] sndio.diff Update port: - Add rc.d script - Add privsep user to UIDs/GIDs - Better pkg-message I removed audio/pulseaudio-module-sndio from the patch for now, because KISS.
Thank you Tobias. Please note that QA (poudriere, etc) results as attachments are no longer required. Feel free to just mention them as a comment when attaching patches, such as: portlint: OK (looks fine.) testport: OK (poudriere: <archs>, <versions>, <options> tested) And don't forget to have the future audio/pulseaudio-module-sndio issue ID depend on this one
Created attachment 173095 [details] sndio.diff Fixes build on FreeBSD 9.3 and adds experimental OSS support (only playback was tested). portlint ok, as are Poudriere test builds in FreeBSD 10.2/amd64, FreeBSD 9.3/i386
testbuilds are ok, portlint is fine.
A commit references this bug: Author: pi Date: Wed Aug 3 06:15:42 UTC 2016 New revision: 419497 URL: https://svnweb.freebsd.org/changeset/ports/419497 Log: New port: audio/sndio Sndio is a small audio and MIDI framework part of the OpenBSD project. It provides an lightweight audio & MIDI server and a fully documented user-space API to access either the server or directly the hardware in a uniform way. Sndio is designed to work for desktop applications, but pays special attention to synchronization mechanisms and reliability required by music applications. Reliability through simplicity are part of the project goals. WWW: http://www.sndio.org/ PR: 210124 Submitted by: Tobias Kortkamp <t@tobik.me> Changes: head/GIDs head/UIDs head/audio/Makefile head/audio/sndio/ head/audio/sndio/Makefile head/audio/sndio/distinfo head/audio/sndio/files/ head/audio/sndio/files/patch-configure head/audio/sndio/files/patch-libsndio_Makefile.in head/audio/sndio/files/patch-libsndio_sio.c head/audio/sndio/files/patch-libsndio_sio__oss.c head/audio/sndio/files/patch-libsndio_sio__priv.h head/audio/sndio/files/sndiod.in head/audio/sndio/pkg-descr head/audio/sndio/pkg-message head/audio/sndio/pkg-plist
Committed, thanks!