mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 03:01:03 +00:00
730ff79841
Original commit message from CVS: fixing alsa step 2: complete rewrite of data transfer. The whole stuff is clean enough to go from there now. License change to LGPL, since no copied code is left now. Missing: - alsasrc - resetting format - corner cases - testsuite
62 lines
2.2 KiB
Text
62 lines
2.2 KiB
Text
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. It was rewritten in great part again by Benjamin
|
|
Otte in January/February 2003.
|
|
|
|
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 Where to look for other ALSA drivers
|
|
----------------------------------------
|
|
|
|
ALSA 0.9 isn't very well documented, so we had to rely on a number of different
|
|
sources for guidance. Sources of inspiration include JACK's alsa driver
|
|
(available in jack's cvs tree, http://jack.sourceforge.net/), the alsa2 driver
|
|
of mplayer (http://www.mplayerhq.hu) and the pcm.c example from the ALSA library
|
|
itself.
|
|
(http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html)
|
|
|
|
4.0 License
|
|
-----------
|
|
|
|
This plugin is licensed under the Lesser General Public License (LGPL). See the
|
|
file COPYING in the top source directory.
|