Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
wiki:audio_layers_overview [2009/09/20 12:25] – created raboofwiki:audio_layers_overview [2009/11/23 22:42] – fixed broken OSS links lee
Line 3: Line 3:
 ===== Kernel layer ===== ===== Kernel layer =====
  
-The most low-level layer is the kernel layer, which takes care of the communication with the hardware. This role is usually fulfilled by [[ALSA]] or [[OSS]]. +The most low-level layer is the kernel layer, which takes care of the communication with the hardware. This role is usually fulfilled by [[apps:all:ALSA]] or [[apps:all:oss_free|OSS]]. 
  
 Most sound cards do not support 'hardware mixing', meaning each output can only play one stream at a time. This is, of course, inconvenient: you might want to play sounds from more applications at a time. Mixing is one of the most important operations performed by the higher-level layers. Most sound cards do not support 'hardware mixing', meaning each output can only play one stream at a time. This is, of course, inconvenient: you might want to play sounds from more applications at a time. Mixing is one of the most important operations performed by the higher-level layers.
Line 11: Line 11:
 ===== ALSA userspace ===== ===== ALSA userspace =====
  
-On top of the kernel [[ALSA]] layer, [[ALSA]] also provides some user-space plugins, including mixing with [[Dmix]]. +On top of the kernel [[apps:all:ALSA]] layer, [[apps:all:ALSA]] also provides some user-space plugins, including mixing with [[http://alsa.opensrc.org/DmixPlugin|Dmix]]. 
  
 ===== Sound servers ===== ===== Sound servers =====
Line 19: Line 19:
 ==== Jack ==== ==== Jack ====
  
-[[Jack]] is the standard sound server for audio production work.+[[apps:all:Jack]] is the standard sound server for audio production work.
  
 ==== PulseAudio, ESounD, GStreamer, aRts ==== ==== PulseAudio, ESounD, GStreamer, aRts ====
  
-Other sound servers such as [[PulseAudio]], [[ESounD]], [[GStreamer]] and [[aRts]] serve various desktop audio needs, and have lots of overlapping functionality, but are not specifically focused towards audio production like [[Jack]].+Other sound servers such as [[apps:all:PulseAudio]], [[apps:all:ESounD]], [[apps:all:GStreamer]] and [[apps:all:aRts]] serve various desktop audio needs, and have lots of overlapping functionality, but are not specifically focused towards audio production like [[apps:all:Jack]]
 + 
 +===== Compatibility layers ===== 
 + 
 +An application that does not use a sound server is generally written for either [[apps:all:OSS_free|OSS]] (in which case it would use /dev/dsp*) or [[apps:all:ALSA]] (in which case it would use /dev/snd/* though the [[apps:all:ALSA]] libraries). 
 + 
 +This would mean [[apps:all:OSS_free|OSS]] would not work on systems using [[apps:all:ALSA]] and vice-versa. Luckily, both projects provide a 'compatibility layer' to work with each others' applications.
wiki/audio_layers_overview.txt · Last modified: 2013/06/02 15:45 by 127.0.0.1