Commit graph

18 commits

Author SHA1 Message Date
John Spencer
0616d87fba alsaloop: pcmjob.c: use portable way to initialize recursive mutex
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is not in POSIX, as _NP
(non-portable) suggests.

exposing such a symbol in musl libc would lock in the ABI for all
times and makes it impossible to do future changes to the under-
lying struct without hideous symbol versioning hacks.

use the portable way instead: pthread_once was designed for such
cases.

Signed-off-by: John Spencer <maillist-alsa@barfooze.de>
Tested-by: John Spencer <maillist-alsa@barfooze.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2013-11-08 14:57:06 +01:00
Jaroslav Kysela
b72e221aab alsaloop: fix the avail_min setup
The previous code does not work as expected for some period_size
configurations. We do not rely on the period size value, so do not
correlate the avail_min parameter with this value.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2012-05-13 13:30:15 +02:00
Jaroslav Kysela
53107e1e31 alsaloop: Improve xrun_sync - fill missing playback samples
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2012-02-20 16:41:19 +01:00
Jaroslav Kysela
3801e25964 alsaloop: another try to force correct formats for libsamplerate
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2011-03-08 12:57:14 +01:00
Jaroslav Kysela
3853175d12 alsaloop: libsamplerate requires specific formats, force them for slave mode
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2011-03-07 14:22:12 +01:00
Jaroslav Kysela
7a11a2b546 alsaloop: rework the ctl event handling routine
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-21 20:38:06 +02:00
Jaroslav Kysela
d53eb0309d alsaloop: Delay the restart a bit (to handle snd-aloop playback xruns better)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-20 09:31:01 +02:00
Jaroslav Kysela
1ae28cae89 alsaloop: Fix latency print
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-14 15:39:28 +02:00
Jaroslav Kysela
513a9c7ad1 alsaloop: fixes, added -W/--wake option
- added -W/--wake option to reduce poll time
- another try to fix the avail_min parameter for playback
- fixed initial silence fill

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-14 11:17:25 +02:00
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
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
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