Commit graph

1067 commits

Author SHA1 Message Date
Jaroslav Kysela
1a35bdf7c6 alsaloop: added xrun profiling support (-U,--xrun), added SIGUSR1 state dump
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-13 23:39:36 +02:00
Jaroslav Kysela
af61ea60cf alsaloop: add --pctl and --cctl options to man page
Signed-off-by: Jaroslav Kysela <perex@perex.cz># Please enter the commit message for your changes. Lines starting
2010-10-11 11:56:16 +02:00
Jaroslav Kysela
38c2ef96b7 alsaloop: add --pctl and --cctl options
In some cases it might be usefull to specify another CTL device names.
Add -X/--pctl and -Y/--cctl options.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-11 11:53:50 +02:00
Jaroslav Kysela
bee994f509 alsaloop: Fixes and added --workaround option
- added workaround for alsa-lib (pthread configuration parsing issue) -
  the workaround must be activated manually using ('--workaround serialopen')
- fixed avail_min initialization (caused high CPU usage or xruns)
- fixed shared buffer initialization (both capture and playback buffers
  must have equal number of samples in this config)

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-11 10:24:14 +02:00
Jaroslav Kysela
e77983d3c5 alsaloop: Fix command-line parsing and pollfd initialization
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-08 22:23:05 +02:00
Jaroslav Kysela
147a1cc75c alsaloop: Add OSS mixer redirection support
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-08 15:10:23 +02:00
Jaroslav Kysela
058357f042 alsaloop: added resampling for unsupported soundcard rates
- improve also xrun synchronization

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-07 20:38:36 +02:00
Jaroslav Kysela
f956c329aa alsaloop: fix resample argument parsing
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-07 00:12:38 +02:00
Jaroslav Kysela
5ad13c4825 alsaloop: fix -a option and slave mode processing
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-06 20:34:03 +02:00
Jaroslav Kysela
4fe4d22b73 alsaloop: Fix thread handling
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-06 18:51:29 +02:00
Jaroslav Kysela
ad0e562373 alsaloop: Fix loopbacks pointer initialization and allocation, fix -T option
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-06 18:30:18 +02:00
Jaroslav Kysela
1e75673035 Introduce alsaloop utility
alsaloop allows create a PCM loopback between a PCM capture device
and a PCM playback device.

alsaloop supports multiple soundcards, adaptive clock synchronization,
adaptive rate resampling using the samplerate library (if available in
the system). Also, mixer controls can be redirected from one card to
another (for example Master and PCM).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-06 10:01:52 +02:00
Jaroslav Kysela
87c58b59b5 amixer: fix parsing of control ID name
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-05 10:02:45 +02:00
Jaroslav Kysela
ef919a4724 alsactl init: Initialize also "Master Front Playback Volume" & "Switch"
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-07 17:33:14 +02:00
Jaroslav Kysela
52bd2f8ace alsactl init: Handle "Capture Source" and "Mic Boost" in the default script
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-07 17:07:12 +02:00
Jaroslav Kysela
0fea2452cb alsactl: Change handling of inactive controls
The inactive controls are stored, but they are not restored
when they are marked inactive in the state file or in the
driver.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-02 15:48:43 +02:00
Jaroslav Kysela
7f6a55e203 alsactl init: use "generic method" instead "guess method"
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-02 15:36:56 +02:00
Jaroslav Kysela
dcb90a779e alsactl init: Use "Found hardware:" instead "Unknown hardware:"
It seems that "Unknown hardware:" confuses users. Use "Found hardware:"
instead.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-02 15:03:23 +02:00
Jaroslav Kysela
bb865dc10b aplay/arecord: term_c_lflag variable might be unitialized in some cases
The term_c_lflag variable might be unitialized in some cases. Add extra
check to avoid setting of wrong value.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-08-18 08:23:09 +02:00
Jaroslav Kysela
4c337275d1 speaker-test: add test pattern for PCM layer debugging purposes
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-08-18 08:22:23 +02:00
Jaroslav Kysela
73c79ebf26 aplay: fix termio settings - return back old c_flag value on exit
- symptom - ssh client password authentication does not work with
  the modified terminal settings

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-07-15 13:39:14 +02:00
Jaroslav Kysela
3bd6533622 aplay/arecord: Added hardware pause support (press SPACE or Enter)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-07-15 10:40:21 +02:00
Clemens Ladisch
b4ff58b685 Revert wrong parts of "alsactl: use snd_config_imake* functions"
This reverts the parts of commit e509df69a5
that accidentally reverted a bunch of earlier commits.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-05-26 10:37:58 +02:00
Clemens Ladisch
bd15b1e5ea alsactl: change format of comment node in state file
Make the comment node a separate node in the state file (join=0), and
move it after the other fields of the respective control.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-05-26 10:28:11 +02:00
Clemens Ladisch
4f29877d54 alsactl: correctly restore dB values of controls with changed range
When the range of a control has changed between driver versions, it is a
good idea to restore the same dB value of the control.  However,
computing the dB value by interpolating betweem the min/max dB values
duplicates alsa-lib's TLV functions and does not even work for controls
with a linear dB range.

A simple conversion to dB and back can be done if we add the dB value(s)
to the saved state.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-05-26 10:27:25 +02:00
Clemens Ladisch
224c12238e alsactl: remove open-coded search
Remove search_comment_item since it does the same as snd_config_search.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-05-26 10:19:17 +02:00
Clemens Ladisch
ad47784b01 alsactl: move alloca out of loop
Reserving new space from the stack in every loop iteration is not
necessary, so move the call to snd_ctl_elem_id_alloca outside where it
is executed only once.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-05-26 10:18:43 +02:00
Clemens Ladisch
e509df69a5 alsactl: use snd_config_imake* functions
To save a call to snd_config_set_xxx, replace the calls to
snd_config_make_xxx with snd_config_imake_xxx.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-05-26 10:07:47 +02:00
Jaroslav Kysela
1b22cb0488 Release v1.0.23
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-04-16 13:11:06 +02:00
lieven moors
b5f5ebcbe6 aconnect -x: Do not update index after removal of connection.
Signed-off-by: lieven moors <lievenmoors@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-03-25 12:21:58 +01:00
Jaroslav Kysela
f0658f37dc alsactl: update debug prints in state.c
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-25 16:45:13 +01:00
Jaroslav Kysela
412cb29b58 alsactl: add more debug prints to state.c
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-25 15:02:09 +01:00
Jaroslav Kysela
5c35aa8b69 alsactl: improve -d to get warnings and store exitcode to runstate file
Also, make the initialization & restore logic for one card similar to
multiple card initialization & restore.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-25 09:22:26 +01:00
Clemens Ladisch
c9b86f49a8 alsamixer: handle out-of-range volume values
Ensure that control volume values are in their allowed range; otherwise,
the displayed values could be outside the range 0..100 and mess up the
layout.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-02-22 09:42:03 +01:00
Clemens Ladisch
5a016b583b alsamixer: fix division by zero
The attempt to divide by max-min fails if a control has only one valid
value.  In this case, adjust the maximum so that the computation can
succeed; the control will look like 0%.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-02-19 17:07:20 +01:00
Jaroslav Kysela
69c6bead43 alsactl: Fix return code
The main() should return positive error value.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-14 19:07:25 +01:00
Jaroslav Kysela
f45aa72cd6 amixer: add support for TLV dB minmax types
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-10 11:52:53 +01:00
Clemens Ladisch
cdc496addb amixer: fix display of unreadable control elements
When an element is marked as not readble, do not try to read it and then
complain about the error, but just ignore it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-02-01 13:22:39 +01:00
Jaroslav Kysela
0034b1f83f speaker-test: add fflush(stdout) to write_loop
Flush stdout for pipes. The monitor tool from hda-analyzer requires this.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-27 10:28:17 +01:00
Clemens Ladisch
c2eaf88f7e amidi: fix port listing
Rewrite the port listing code because it was too complex and had some
bugs when handling write-only or read-only ports.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-01-25 14:11:37 +01:00
John Sauter
55cd025f18 aplay -- update the man file
Bring the man file up to date, documenting the signals and all the
options, including those added for audio surveilance.

Signed-off-by: John Sauter <John_Sauter@systemeyescomputerstore.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-10 18:58:23 +01:00
John Sauter
3b425f8fb5 aplay -- add features for audio surveilance
Add signal SIGUSR1 to turn over the output file,
--max-file-time to cause the output file to turn over automatically,
and --use-strftime to create output files based on the current time.

Signed-off-by: John Sauter <John_Sauter@systemeyescomputerstore.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-10 18:56:53 +01:00
John Sauter
0895fcdce2 aplay - add option --process-id-file
Write the process ID to a file so other programs can
signal aplay.  When aplay exits, delete the file.

Signed-off-by: John Sauter <John_Sauter@systemeyescomputerstore.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-10 18:41:49 +01:00
Jaroslav Kysela
400e6f440e aplay: Dump PCM state on xrun when verbose mode is active
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-08 15:58:47 +01:00
Jaroslav Kysela
6b4fbdfd71 Release v1.0.22
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-16 16:18:52 +01:00
Jaroslav Kysela
075becdb1a speaker-test: not all sample formats are supported - show only supported ones
Also, check if given format is supported.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-15 15:34:46 +01:00
Jaroslav Kysela
d18aebca5b speaker-test: add -d (--debug) option to show PCM parameters
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-15 15:27:05 +01:00
Jaroslav Kysela
1247c3d8ac alsactl: fix error path code in init_parse.c
If initialization file (-i option) does not exists, the free_space()
function was called with NULL pointer.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-14 17:26:57 +01:00
Jaroslav Kysela
87ee474b1d alsactl: init - default - initialize also "Digital Input Source"
Set "Digital Input Source" to "Digital Mic 1" or "Mic" (fallback).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-11-12 08:54:25 +01:00
Jaroslav Kysela
1185611ac1 arecord: fix wrong chunk_size initialization when verbose and mmap flags are set
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-11-09 11:49:51 +01:00