Here's a list of features I pulled off Pulse Audio's website:
http://en.wikipedia.org/wiki/PulseAudio


The main PulseAudio features include:

    * Per-application volume controls [1]

OSS already does that.

    * An extensible plugin architecture with support for loadable modules.

If you look at http://pulseaudio.org/wiki/Modules - they are talking about 
Pulse audio functionality being implemented as modules - similar to GStreamer.

OSS is multiplatform and already has a lot of features that they talk about.

    * Compatibility with many popular audio applications.

OSS is 100% in coverage. Pulse talks about "many popular" apps.

    * Support for multiple audio sources and sinks.

OSS has virtual mixer and input multiplexer built in.

    * Low-latency operation and support for latency measurement.

Can't get lower than the driver in kernel.

    * A zero-copy memory architecture for processor resource efficiency.

No copy needed for OSS apps. You write your buffers directly to the driver.

    * A command-line interface with scripting capabilities.

OSS also has command line apps and also provide PhP/Perl scripting and support 
in Java.

    * A sound daemon with command line reconfiguration capabilities.

Pulse is a replacement for ESD and nothing more. With OSS v4 you don't need a 
mixing daemon because OSS gives you virtual devices for mixing directly.

Pulse has network features but I really don't know who would use it. Network 
audio is now redefined to be VOIP. Pulse audio doesn't support any kind of X 
Windows protocol or VoiceXML or VoiceHTML so really I don't know what the 
benefits of their network architecture are.

    * Built-in sample conversion and resampling capabilities.

OSS has superior Sample Rate convertors...infact you can control the quality 
(high quality vs fast processing)

    * The ability to combine multiple sound cards into one.

This usually never works because each card's crystal freqs and latencies will 
prevent the application from outputting audio in a phase lock...which means 
after a while output from one sound card will drift.

    * The ability to synchronize multiple playback streams.

OSS does this as well.....we have a "Remux" driver that allows you to take 4 
output streams and create a 5.1 surround stream.



4Front is going to make GStreamer talk directly to OSS and we've already 
contracted the Gstreamer developers to do this work. Part of the deliverables 
will be

1) a Gstreamer configuration panel to configure audio devices

2) a Gnome volume panel that exposes all OSS mixer elements - hopefully it will 
look nicer than ossxmix that comes with OSS.

3) Direct interaction between GStreamer and OSS drivers and no need for any 
intermediate mixing daemons like Pulse audio or ESD or whatever else.

4) Support for 7.1 multichannel and rates upto 192Khz, 24bit.


However there is no problem in having Pulse Audio sit on top of OSS if there is 
some Pulse Audio app that isn't supporting OSS (I can't imagine there being any 
such app).

Look at the mixing technology within Pulse Audio and then compare it to what 
we've done in Open Sound: http://manuals.opensound.com/sources/grc3.c.html



regards
Dev
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to