Jump to content

PulseAudio: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Marioxcc (talk | contribs)
No edit summary
Undid revision 301769687 by Marioxcc (talk) see item on talk page before re-reverting
Line 24: Line 24:
'''PulseAudio''' (formerly ''PolypAudio'') is a [[cross-platform]], networked [[sound server]] project. It is intended to be an improved drop-in replacement for the [[Enlightened Sound Daemon]] (ESD).
'''PulseAudio''' (formerly ''PolypAudio'') is a [[cross-platform]], networked [[sound server]] project. It is intended to be an improved drop-in replacement for the [[Enlightened Sound Daemon]] (ESD).


PulseAudio runs under [[Microsoft Windows]] and [[POSIX]]-compliant systems like [[GNU/Linux]]. PulseAudio is [[free software]] released under the terms of the [[GNU Lesser General Public License]] (for the [[software library]] portion) and the [[GNU General Public License]] (for the sound server itself).
PulseAudio runs under [[Microsoft Windows]] and [[POSIX]]-compliant systems like [[Linux]]. PulseAudio is [[free software]] released under the terms of the [[GNU Lesser General Public License]] (for the [[software library]] portion) and the [[GNU General Public License]] (for the sound server itself).


== Design ==
== Design ==

Revision as of 04:36, 18 July 2009

PulseAudio
Developer(s)Lennart Poettering, Pierre Ossman, Shahms E. King.
Stable release
0.9.15 / April 13, 2009; 15 years ago (2009-04-13)
Repository
Written inC[1]
Operating systemCross-platform
TypeSound server
LicenseGNU General Public License,
GNU Lesser General Public License
Websitepulseaudio.org

PulseAudio (formerly PolypAudio) is a cross-platform, networked sound server project. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESD).

PulseAudio runs under Microsoft Windows and POSIX-compliant systems like Linux. PulseAudio is free software released under the terms of the GNU Lesser General Public License (for the software library portion) and the GNU General Public License (for the sound server itself).

Design

PulseAudio operational flow chart

PulseAudio is a sound server, a background process accepting sound input from one or more sources (processes or capture devices) and redirecting it to one or more sinks (sound cards, remote network PulseAudio servers, or other processes).

One of the goals of PulseAudio is to reroute all sound streams through it, including those from processes that attempt to directly access the hardware (like legacy OSS applications). PulseAudio achieves this by providing adapters to applications using other audio systems, like aRts and ESD.

In a typical installation scenario under Linux, the user configures ALSA to use a virtual device provided by PulseAudio. Thus, applications using ALSA will output sound to PulseAudio, which then uses ALSA itself to access the real sound card. PulseAudio also provides its own native interface to applications that want to support PulseAudio directly, as well as a legacy interface for ESD applications, making it suitable as a drop-in replacement for ESD.

For OSS applications, PulseAudio provides the padsp utility, which replaces device files such as /dev/dsp, tricking the applications into believing that they have exclusive control over the sound card. In reality, their output is rerouted through PulseAudio.

Features

The main PulseAudio features include:

  • Per-application volume controls[2]
  • An extensible plugin architecture with support for loadable modules
  • Compatibility with many popular audio applications[which?]
  • Support for multiple audio sources and sinks
  • Low-latency operation[citation needed] and support for latency measurement
  • A zero-copy memory architecture for processor resource efficiency
  • Ability to discover other computers using PulseAudio on the local network and play sound through their speakers directly
  • Ability to change which output device an application plays sound through while the application is playing sound (without the application needing to support this, and indeed without even being aware that this happened)
  • A command-line interface with scripting capabilities
  • A sound daemon with command line reconfiguration capabilities
  • Built-in sample conversion and resampling capabilities
  • The ability to combine multiple sound cards into one
  • The ability to synchronize multiple playback streams
  • Bluetooth audio devices with dynamic detection
  • The ability to enable system wide equalization

Adoption

PulseAudio is used in recent versions of several major linux distributions such as Fedora, Ubuntu, Mandriva, Linux Mint, and openSUSE. There is also growing support for PulseAudio in the GNOME project.

When first adopted by the distributions PulseAudio developer Lennart Poettering described it as "the software that currently breaks your audio".[3] Poettering later claimed that "Ubuntu didn't exactly do a stellar job—they didn't do their homework" in adopting PulseAudio[4] for Ubuntu "Hardy Heron" (8.04), a problem which was then fixed with the release of "Jaunty Jackalope" (9.04).[5]

Certain Linux drivers, including some now outdated Adobe Flash drivers, cause instability in PulseAudio. Fortunately newer implementations of flash plugins do not require the conflicting elements, and as a result flash and pulse are compatible.

Alternatives

ALSA provides a software mixer called dmix, which was developed prior to PulseAudio. This is enabled by default on many Linux distributions and requires less resource overhead, although it does not provide the advanced features (high quality resampling, device aggregation, and network audio) of PulseAudio.

The modern implementations of the Open Sound System v4 such as that by 4Front also provide software mixing, resampling and changing the volume on a per-application basis and, in contrast to PulseAudio, these features are implemented within the kernel. PulseAudio can also inter-operate with existing legacy sound systems, including those that were designed to exclusively lock the sound card (OSS v3).

See also

Template:Fossportal

References

  1. ^ Ohloh Analysis Summary - PulseAudio
  2. ^ "Interviews/LennartPoettering - FedoraProject". FedoraProject<!. Retrieved 2009-07-03.
  3. ^ "LPC: Linux audio: it's a mess". Lwn.net. Retrieved 2009-07-03.
  4. ^ Lennart Poettering <mzoybt (at) 0pointer (dot) net>. "Banana In Manu Habeo". 0pointer.de. Retrieved 2009-07-03.{{cite web}}: CS1 maint: extra punctuation (link) CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
  5. ^ Ubuntu Forums