pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Proposed package: audio/pulseaudio
See www.pulseaudio.org. I think this would be a useful addition to pkgsrc, namely to replace the moribund audio/esound.
From the web site:
Library licensed under
LGPL and server daemon under GPL
Extensible plugin architecture (by loading dynamic loadable modules with dlopen())
Support for static linking of modules, allowing a single binary for all your needs
Module autoloading
Support for more than one sink/source
Good low latency behaviour
Very accurate latency measurement for playback and recording.
Client side latency interpolation
Embedabble into other software (the core is available as C library)
Completely asynchronous C API, complemented by two synchronous variants for simple use in synchronous applications
Simple command line interface for reconfiguring the daemon while running
Flexible, implicit sample type conversion and resampling
"Zero-Copy" architecture
May be used to combine multiple sound cards to one (with sample rate adjustment)
Ability to fully synchronize multiple playback streams
"PulseAudio can stream audio data to an IP multicast group via the
standard protocols RTP, SAP and SDP (RFC3550, RFC3551, RFC2327,
RFC2327). This can be used for multiple different purposes: for sharing
a single microphone on multiple computers on the local LAN, for
streaming music from a single controlling PC to multiple PCs with
speakers or to implement a simple "always-on" teleconferencing
solution.
The current implementation is designed to be used exlusively in
local area networks, though Internet multicasting is theoretically
supported. Only uncompressed audio is supported, hence you won't be
able to multicast more than a few streams at the same time over a
standard LAN.
PulseAudio implements both a sender and a reciever for RTP traffic.
The sender announces itself via SAP/SDP on the same multicast group as
it sends the RTP data to. The reciever picks up the SAP/SDP
announcements and creates a playback stream for each session.
Alternatively you can use any RTP capable client to recieve and play
back the RTP data (such as mplayer)."
module-xeroconf-publish:
Publish all local sinks/sources using mDNS Zeroconf.
There are __many__ more interesting features aside from those here. Moreover, they've already done Linux, FreeBSD, and win32 ports.
Surely this would be a superior option to esound on Interix, for example. And how about using this among different domains in Xen (or a cluster of machines) using this module:
module-combine:
This combines two or more sinks into one. A new virtual sink is
allocated. All data written to it is forwarded to all connected sinks.
In aequidistant intervals the sample rates of the output sinks is
recalculated: i.e. even when the sinks' crystals deviate (which is
normally the case) output appears synchronously to the human ear. The
resampling required for this may be very CPU intensive.
Please explore the wiki, especially noting all of the plugins here:
http://pulseaudio.org/wiki/Modules
IMHO, adding this to pkgsrc would significantly enahnce NetBSD's audio capability and flexibility, not to mention
improve the "desktop experience".
I'm going to try this out on my machine, but I'm no pkgsrc developer (hope to get there at some point, heh); perhaps
someone else more pkgsrc-savvy would care to work on this?
Regards,
--Blair
Home |
Main Index |
Thread Index |
Old Index