gstreamer/ext/alsa
Andy Wingo d11dbb0338 a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
2002-04-20 21:42:51 +00:00
..
gstalsa.c a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br... 2002-04-20 21:42:51 +00:00
gstalsa.h fixed 2001-12-23 22:40:26 +00:00
Makefile.am removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with... 2002-03-19 04:10:06 +00:00
README added alsa 2001-12-23 00:25:30 +00:00

0.0 History
-----------

This plugin was originally written by Thomas Nyberg <thomas@codefactory.se> for
ALSA 0.5.x. It was updated and changed quite a bit in September 2001 by Andy
Wingo for use with ALSA 0.9.x.

1.0 Introduction
----------------

This plugin was designed for use with ALSA 0.9.x, using other versions most
assuredly will not work.

The plugin will probe which cards and pcm-devices that are availible, and then
it tries to determine their capabilities. This will allow the use of multiple
cards with multiple pcm-devices - at the same time! Since I only have one card
on my system, as of yet, I haven't had the chance to try this out.

2.0 How to use it
-----------------

Since we can have multiple soundcards, each having the same name - and also
multiple pcm-devices on each card, a problem with naming occurs. When
the alsa-plugins are initialized, a factory is created for each card and 
pcm-device on the system. 

On my desktop, I have the following:

wingo@cebreiro:~/src/gstreamer$ gstreamer-inspect alsa
INFO (  339:-1) Initializing GStreamer Core Library
INFO (  339:-1) CPU features: (808009bf) MMX 3DNOW 
Plugin Details:
  Name:         alsa
  Long Name:    Alsa plugin library
  Filename:     /usr/lib/gst/libalsa.so

  ES1370/1_sink: ES1370 DAC2/ADC
  ES1370/2_sink: ES1370 DAC1
  ES1370/1_src: ES1370 DAC2/ADC
  alsasink: default alsa sink
  alsasrc: default alsa src

My particular card has 4 channel out and 2 channel in. As you can see, each of
these devices are stereo. The alsasink and alsasrc elements correspond to the
default alsa devices.

3.0 License
-----------

ALSA 0.9.x isn't very well documented, so I had to rely on a number of different
sources for guidance. One of the main sources of inspiration was Paul Davis'
audioengine (available in quasimodo's cvs tree,
http://quasimodo.sourceforge.net/), from which I took a large amount of code.
Since that project is licensed under the GPL, it was only right that I license
the updated version of this plugin under the GPL as well. What, in my
understanding, this means for the end user is that you cannot use the ALSA
plugin with a non-GPL program. If in doubt, please refer to the COPYING file
located in this directory.