Commit graph

343 commits

Author SHA1 Message Date
Pawel MOLL
4bdb0adef1 Support for playing WAV files with "extensible format" header using aplay.
WAV files with more than 2 channels or with more than 16 bits per samples
can be saved with "extensible format" chunk
(see http://msdn2.microsoft.com/en-us/library/ms713496(VS.85).aspx).
For instance, sox, when converting data to 24- or 32-bits per sample format
uses this format, and aplay was unable to play such file. Now the problem
is solved :-)

Signed-off-by: Pawel MOLL <pawel.moll@st.com>
2008-03-06 17:34:21 +01:00
Andrew Paprocki
6f438b9b9a aplay/arecord - Add support for IEEE float 32-bit WAV files
This patch modifies aplay/arecord to support playing/capturing IEEE float
32-bit WAV files. Tested on HDA hardware in both stereo and multi-channel
modes. Added the WAV file constant for Dolby AC-3 S/PDIF passthrough to
formats.h for future use when AC-3 passthrough is better supported.

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
2008-02-06 14:05:07 +01:00
Jaroslav Kysela
62a27ec90b release 1.0.16rc1
Patch-level: Merged
2008-01-21 10:42:48 +01:00
Takashi Iwai
9abeb5843a Remove xfer_align
The xfer_align is the obsolete feature now.  Remove it from aplay
and speaker-test to avoid deprecated calls.
2008-01-08 18:39:06 +01:00
Takashi Iwai
4cb74aed89 Remove sleep_min from aplay
The sleep_min is the obsolete feature now.  Remove it from aplay.
2008-01-08 18:38:32 +01:00
Takashi Iwai
beecc1419e aplay - Reset non-blocking flag before snd_pcm_drain()
snd_pcm_drain() doesn't block when running with O_NONBLOCK.
Reset the non-blocking mode before calling snd_pcm_drain() properly
(and restore again for any further operations).
2007-12-14 15:29:51 +01:00
Jaroslav Kysela
48de580a7b Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:25:17 +02:00
Takashi Iwai
7992d3aca0 aplay - Include missing time.h for time()
With salsa-lib,
  aplay.c: In function ‘compute_max_peak’:
  aplay.c:1207: warning: implicit declaration of function ‘time’
2007-08-07 15:36:41 +02:00
Takashi Iwai
483d8d65d9 aplay - Fix VU meter
Fix spaces displayed in VU meter to match with the actual max lengh (51).
2007-07-12 17:02:18 +02:00
Takashi Iwai
ea04f2c888 aplay - Fix possible endless loop with SIGBART
The signal handler may cause endless loop with SIGABRT.
2007-07-12 15:20:52 +02:00
Takashi Iwai
c7d2be17d7 Remove unneeded -lasound
-lasound is unnecessary in aplay/Makefile.am.
2007-06-04 15:15:39 +02:00
Jaroslav Kysela
815fc4bea0 aplay: namehint fix - use filter before printing device name 2006-11-30 13:45:08 +01:00
Jaroslav Kysela
a6f9df06af fix for recent namehint API (use get_hint function) 2006-11-30 13:42:33 +01:00
Takashi Iwai
a8e31a5589 Fix argument for snd_device_name_hint().
Fix the iface argument for snd_device_name_hint().
2006-11-06 17:27:50 +01:00
Jaroslav Kysela
ff26da1a3d aplay/arecord: Remove -n commad (obsolete, undocumented)
Also fix a small memory leak (missing snd_output_delete call).
2006-10-12 14:53:56 +02:00
Jaroslav Kysela
eee0b78320 aplay/arecord -L command: process properly end-of-line characters 2006-10-12 11:04:38 +02:00
Jaroslav Kysela
0b70f2e606 aplay/arecord: filter direction for -L command 2006-10-11 13:36:37 +02:00
Jaroslav Kysela
f6ed3aa3be aplay/arecord - use snd_device_name_hint() for -L command 2006-10-11 13:31:47 +02:00
Jaroslav Kysela
e32785dd55 aplay: add fflush(stdout) for -vvv verbosity
See bug#2454
2006-10-01 15:03:26 +02:00
Takashi Iwai
e45f2f4bf5 Don't call close() for the same fd twice in arecord
Since fmt_rec_table[].end() closes the file descriptor, we should
reset fd to -1 for avoiding closing the same fd once again.
2006-08-03 17:33:32 +02:00
Takashi Iwai
3de280c6f4 Use the right word in message of areacord
Use the word "stdin" instead of "stdout" when arecord is used.
2006-08-03 17:29:51 +02:00
Takashi Iwai
2759c90a67 Fix segfault in aplay when snd_pcm_name() == NULL
Fix segfault in aplay when snd_pcm_name() == NULL.
2006-08-03 17:27:35 +02:00
Takashi Iwai
ca5cc4b984 Fix misc bugs in arecord
- remove unused static declaration
- fix double close in signal handler
- fix NULL reference
- fix max file size to stdout with non-raw format
- code clean up
2006-05-18 12:33:35 +02:00
Takashi Iwai
56190f977b Fix endless loop of recording in arecord
Fix and clean up arecord (capture) code:
- fix the ending condition check
- fix invalid file close in raw mode
- clean up the code
2006-05-17 14:59:29 +02:00
Takashi Iwai
58bab1a4a7 Fix a compile warning in aplay.c
Fix a compile warning regarding the 2GB constant value.
2006-05-10 17:26:53 +02:00
Takashi Iwai
f92e100b56 Allow aplay/arecord to handle up to 2GB for WAV
Change the max_filesize value for WAV format to 2GB.
(It's still not 100% sure that WAV allows *exactly* 2GB, though.)
2006-04-26 16:14:51 +02:00
Takashi Iwai
9104d67f40 Fix arecord to quit properly at max file size
Fix arecord to quit properly at the max file size of the given format.
2006-04-26 16:11:57 +02:00
Takashi Iwai
2516c6c43e Don't show invalid plug example in the error message of aplay
Don't show invalid examples of usage with plug prefix
in the error message of aplay/arecord.
2006-04-18 15:14:43 +02:00
Takashi Iwai
2304da6822 Fix a typo in manpage
Fix a typo in manpage of aplay.
2006-03-13 19:38:36 +00:00
Takashi Iwai
9fb30e388f Fix compile warnings
Fix trivial compile warnings.
2005-12-16 18:44:14 +00:00
Takashi Iwai
5f9f0e817c split interleaved files in arecord when reaching 2GB
From: Dirk Jagdmann <doj@cubic.org>

This patch will split files in chunks of aprox. 2GB in the interleaved
recording mode of arecord. This is meant to overcome the 2GB filesize
limit of .wav files, which is easily reached when recording multiple
channels.
2005-12-06 11:25:47 +00:00
Takashi Iwai
504131b582 alternative peak meter for aplay
From: Dirk Jagdmann <doj@cubic.org>

This patch adds an alternative peak meter for aplay/arecord which is
enabled via three "-v" command line arguments. This new mode differs
from the old in a larger meter, no linefeeds for every meter update and
a static maximum peak (for 1s).
2005-12-06 11:23:00 +00:00
Jaroslav Kysela
9a335c4613 aplay/arecord - show the default settings
See bug#534 for more details.
2005-11-14 10:11:50 +00:00
Takashi Iwai
9dc666526f Disable NLS support when --disable-nls is passed
Disable NLS support when --disable-nls is passed (bug#1514).
2005-11-08 16:43:36 +00:00
Takashi Iwai
9d1ad2effd Fix compile with --disable-nls
Fix compile with --disable-nls.
2005-10-31 14:44:03 +00:00
Takashi Iwai
9fbb2b59f5 Use strtol() instead of atoi()
Use strtol() instead of atoi() for parsing parameters.
2005-10-18 15:22:25 +00:00
Takashi Iwai
71dd656ef1 Fix VU meter for S24_3 and big-endian
From: Martin Habets <errandir_news@mph.eclipse.co.uk>

Fixed VU meter calculation for S24_3 format and on big-endian.
2005-10-10 12:52:28 +00:00
Takashi Iwai
87ffccedfd Fix / clean up man pages
Fix / clean up man pages (bug#1386)
2005-09-02 17:36:40 +00:00
Jaroslav Kysela
9997c99faf aplay - remove EINTR handling (a job for alsa-lib) 2005-08-24 14:07:35 +00:00
Jaroslav Kysela
7fb39a9cd5 aplay - added -EINTR error code handling for read/write operations 2005-08-23 12:54:26 +00:00
Takashi Iwai
39ff48b437 Output help messages to stdout
Output help messages and lists to stdout instead of stderr.
2005-06-23 10:39:16 +00:00
Takashi Iwai
6343f35202 i18nize some programs
i18nize some programs with gettext.
2005-06-23 10:38:06 +00:00
Jaroslav Kysela
50414b817e Added -n (--list-devnames) command 2005-05-10 10:53:40 +00:00
Takashi Iwai
02244f65c0 Fix VU meter
Fixed VU meter output of 8 and 32bit samples.
2005-01-03 13:33:06 +00:00
Nicolas FRANCOIS
ca5f8cbcfe Fix hyphens in man pages
This patch converts hyphens to minus signs in the man pages (for options,
emails, or command line examples).

This patch also closes one font modifier in iecset.1.
(s/\fIfalse\fI,/\fIfalse\fP,/)

Signed-off-by: Nicolas FRANCOIS <nicolas.francois@centraliens.net>
2004-10-08 16:15:34 +00:00
Thomas Hood
c7faadde2d Describe what happens if aplay's --duration is zero
Signed-off-by: Thomas Hood <jdthood@yahoo.co.uk>
2004-09-24 09:51:45 +00:00
Clemens Ladisch
72ae8b1e79 various bugfixes
- don't parse -X option because such an option doesn't exist
- allow argument for --sleep-min option
- fix handling of .voc magic string
- fix handling of .voc files on big-endian machines
- remove superfluous "size" parameter from check_wavefile_space macro
- reallocate buffer only if needed in check_wavefile_space
- fix playback of >2GB .wav files
- skip over padding bytes in .wav files
- fix memory leak when playing .voc silence blocks
- fix file length when recording >2GB .wav files
- fix recording of >4GB files
2004-09-13 07:04:53 +00:00
Clemens Ladisch
ce70bf037a manpages: remove bogus .ID macro, use .TP for examples 2004-07-09 07:09:28 +00:00
Takashi Iwai
36b797f335 Show warning if the format is changed due to the file type.
(e.g. WAV yields little-endian)
2004-07-01 09:36:54 +00:00
Clemens Ladisch
d6b7774f7f print caption in hardware list only once 2004-06-10 15:50:58 +00:00
Clemens Ladisch
4b26b779a1 fix default buffer time setting when maximum buffer time is less than 250 ms 2004-05-03 10:03:57 +00:00
Jaroslav Kysela
25141facf0 amorac <amorac@ole.com>
arecord doesn't record if you don't indicate the time limit
The problem happens when the Wave-file is checked for it being even.
I have tried with the next change in aplay.c and it seems to work fine.
2004-04-27 13:38:59 +00:00
Jaroslav Kysela
2b6e61e353 Jeff Law
aplay.c relies upon a GCC extension that has been removed.
Specifically the "cast as lvalue" extension. This patch removes
this dependency.
2004-03-09 17:43:46 +00:00
Jaroslav Kysela
9a30928540 more 64-bit stuff 2004-03-09 13:18:29 +00:00
Jaroslav Kysela
8383eaf65c Fixed calc_count() routine - wav files with traling RIFF chunks sound ok now 2003-11-28 10:24:53 +00:00
Takashi Iwai
911e5f7248 - fixed the infinite loop in probing a card control. 2003-11-27 11:07:25 +00:00
Jaroslav Kysela
80476a0170 - changes against PCM API switch
- 1.0.0 version
- fixed amidi warning
2003-11-05 11:08:25 +00:00
Takashi Iwai
9b621eeac4 - fixed the order of period and buffer size setting.
firstly period then buffer size.  this will avoid the problem of
  rounding.
2003-09-11 11:23:58 +00:00
Jaroslav Kysela
0cc48a4ef8 More size_t off64_t changes 2003-08-27 11:12:50 +00:00
Jaroslav Kysela
5014a50176 Added snd_config_update_free_global() calls and 64-bit file offset support 2003-08-27 11:08:27 +00:00
Takashi Iwai
cb8494d8d4 - added --buffer-size and --period-size options.
- accept -h as the help :)
- fixed VU meter for 8 bit and negative values.
- updated man page.
2003-08-07 14:48:17 +00:00
Jaroslav Kysela
271d3b0fa1 Fixed version string 2003-07-31 07:39:13 +00:00
Jaroslav Kysela
4bc7659559 Added handling of DRAINING state and extended verbose parts 2003-07-30 17:54:42 +00:00
Jaroslav Kysela
d1f08a0484 Yes, we have 192kHz hardware now 2003-07-29 14:33:47 +00:00
Jaroslav Kysela
09982b15d7 Added -f cdr 2003-06-04 07:31:50 +00:00
Jaroslav Kysela
071c299369 Added missing initialization of pbrec_count variable 2003-04-27 08:46:33 +00:00
Jaroslav Kysela
812cb6cfd1 More verbose error report (xrun) 2003-04-19 08:38:50 +00:00
Takashi Iwai
436b33787d - fixed the capture to stdout in WAV.
- allow more than 32bit int in the raw capture mode.
2003-03-19 14:42:00 +00:00
Jaroslav Kysela
ab0043f66a Added a small intro for device_list 2003-03-10 14:25:45 +00:00
Jaroslav Kysela
53fb81e39b Here's a new batch of Debian patches, all from David B. Harris.
- add a "Press Escape to quit" string to alsamixer's title, some uses
  couldn't figure out how to exit the program (Debian Bug#178393).
- hide the cursor, which was missplaced and wasn't goodlooking anyway
  (Debian Bug#81169).
- remove trailing spaces from amixer's output (Debian Bug#177518).
- don't ignore second -l/-L flags in aplay (Debian Bug#177521).
2003-02-24 13:51:15 +00:00
Jaroslav Kysela
1bfb694bf0 Sparc (AU) format is big endian (16-bit) 2003-02-24 12:44:05 +00:00
Jaroslav Kysela
3ca23300be Don't clear resources in signal handler more than one time 2003-02-17 18:07:24 +00:00
Jaroslav Kysela
cab2b63bef Added rate check 2003-02-12 13:51:25 +00:00
Takashi Iwai
c8ae22ea69 - fixed the calculation of playback/record count.
- fixed compile warnings on gcc3.3.
2003-02-04 16:03:12 +00:00
Takashi Iwai
056ee95e48 fixed the calculation of duration time for playback. 2003-01-29 11:15:54 +00:00
Jaroslav Kysela
bc9fc7595a Redo wrong changes by Takashi 2002-12-19 11:26:55 +00:00
Takashi Iwai
e8fd94060e store the actual RIFF length at the wav header by arecord.
will fix the data generated withtout -d option.
2002-12-19 11:10:05 +00:00
Jaroslav Kysela
f2aad9f2a6 Fixed detection of 24-bit wav files 2002-12-18 12:04:59 +00:00
Jaroslav Kysela
ad59b5031c Use new sw params API 2002-10-22 18:00:52 +00:00
Takashi Iwai
884bc104ef - fixed the multi-line string (deprecated).
- fixed the calculation of max peak for 32bit samples.
- change -v option accumulative.  peak bars are shown with double -v
  options.
2002-10-02 14:42:00 +00:00
Jaroslav Kysela
818b37a1d7 Updated to latest alsa-lib 2002-09-19 16:19:12 +00:00
Jaroslav Kysela
7dbfb61047 Updated for last changes 2002-09-17 13:02:17 +00:00
Takashi Iwai
a00e467d67 added -P (--playback) and -C (--capture) options to specify the
stream explicitly regardless of its program name.
2002-08-27 16:33:28 +00:00
Takashi Iwai
a07a85bf5e support 24bit WAV format.
test sample files are wanted!
2002-08-27 16:32:16 +00:00
Takashi Iwai
ea1fec7d84 fixed capture of wav on big-endian. 2002-05-17 15:48:33 +00:00
Takashi Iwai
b9f9453a9a fixed the format of 16bit-au file. 2002-05-07 12:20:19 +00:00
Takashi Iwai
2ebe53c082 fixed typo of --period-size option. 2002-04-29 16:00:28 +00:00
Jaroslav Kysela
44c2918ad5 Fix for raw data recording by Georgios Papoutsis <gepap@gmx.de> 2002-04-01 19:29:22 +00:00
Jaroslav Kysela
95c2d5043a Fixed playing of wave files with big header section 2002-03-08 21:52:20 +00:00
Jaroslav Kysela
3fc76a4e6d Fixed count overflow problem 2002-02-23 09:28:47 +00:00
Jaroslav Kysela
5524873f8d Improved peak printed results 2002-02-22 08:30:04 +00:00
Jaroslav Kysela
6c97531cf5 Added support for 32-bit counts 2002-02-07 16:46:29 +00:00
Jaroslav Kysela
7ba18d08d4 Fixed calculation of start_delay 2002-02-02 19:29:04 +00:00
Jaroslav Kysela
6a76ce51c0 Added limits for start_threshold 2002-02-02 09:47:19 +00:00
Jaroslav Kysela
ccb2381331 Fixed arecord dependency 2002-01-06 10:17:28 +00:00
Jaroslav Kysela
fbef826541 Added arecord to bin_PROGRAMS 2001-12-30 09:36:26 +00:00
Jaroslav Kysela
bc638e8edb Updated GNU GPL (address) 2001-12-30 09:32:53 +00:00
Jaroslav Kysela
c5a22a4622 Fixed default start_delay for arecord 2001-12-01 20:26:46 +00:00
Jaroslav Kysela
e98c0a3d80 Default start_delay is zero (maximum buffering) 2001-11-27 17:37:48 +00:00
Jaroslav Kysela
bd6e546b5f Fixed wave file saving by James Tappin 2001-11-14 07:38:18 +00:00
Takashi Iwai
56901aca46 added missing DESTDIR 2001-11-08 13:29:50 +00:00
Jaroslav Kysela
ca506c695b Added man pages to EXTRA_DIST 2001-11-06 07:51:48 +00:00
Jaroslav Kysela
b009e6956c Small cleanups 2001-10-24 14:41:10 +00:00
Jaroslav Kysela
505135dffe Added arecord.1 2001-10-09 12:28:01 +00:00
Jaroslav Kysela
3eab6faf29 Update to suspend messages 2001-10-04 16:49:29 +00:00
Jaroslav Kysela
edf18fe4f3 Modified according the power management update 2001-10-04 16:41:45 +00:00
Jaroslav Kysela
bfa0a061ed Added code for suspend code 2001-10-04 15:04:44 +00:00
Jaroslav Kysela
191da60508 Fixed warning 2001-10-02 08:03:52 +00:00
Jaroslav Kysela
0cdfe6f00d Fixed peak meter 2001-10-02 07:43:12 +00:00
Jaroslav Kysela
6bd266995e Changed location of asoundlib.h from sys dir to alsa dir.
(it means that official location is '#include <alsa/asoundlib.h>')
2001-09-11 09:34:14 +00:00
Jaroslav Kysela
a33994dd0b Added signal handler and the count in captured file is corrected 2001-09-11 08:39:48 +00:00
Jaroslav Kysela
78b428e09a Added peak meter for debugging purposes 2001-09-06 08:57:52 +00:00
Jaroslav Kysela
abe718c7cf Corrected endian test 2001-08-22 11:00:07 +00:00
Jaroslav Kysela
f7b6aa50e6 Fixed compilation 2001-08-22 06:41:16 +00:00
Jaroslav Kysela
de6eefa17b Little updates 2001-08-07 10:34:51 +00:00
Jaroslav Kysela
95dac87c1a Update for 0.9 2001-08-07 10:28:24 +00:00
Jaroslav Kysela
9a35d631c3 Removed digital setup 2001-08-06 15:11:03 +00:00
Jaroslav Kysela
e875ea948d Improved help and fixed english typo 2001-06-11 07:44:13 +00:00
Abramo Bagnara
009a7fee0a Completed parametric configuration and begun to use it 2001-05-22 09:19:44 +00:00
Jaroslav Kysela
bbef4ad267 Fixed warning 2001-04-22 08:13:29 +00:00
Abramo Bagnara
ef6875f4ed Improved automatic start/stop 2001-04-19 21:18:24 +00:00
Jaroslav Kysela
25f6d0f912 Added AU format 2001-04-15 09:50:17 +00:00
Abramo Bagnara
891bc76928 Better PCM mmap API. Fixed pcm_multi 2001-04-13 15:40:56 +00:00
Abramo Bagnara
f8ab746deb Added mode argument to open functions where it was missing. First part of CTL documentation 2001-03-26 12:45:50 +00:00
Abramo Bagnara
3031ae4ec7 Fixes for pcm_list 2001-03-08 14:20:00 +00:00
Jaroslav Kysela
946078f8c4 Added period == buffer_size check to prevent misusing 2001-02-28 09:01:45 +00:00
Jaroslav Kysela
65dde04e4e Corrected IEC958 control name 2001-02-27 12:27:04 +00:00
Abramo Bagnara
cd88bf91b8 Added timersub definition if missing 2001-02-25 11:54:05 +00:00
Abramo Bagnara
fbec0a5f8d Completed mixer API. Improved iterators. Renamed control values struct. Rewritten simple elements implementation 2001-02-11 15:45:44 +00:00
Abramo Bagnara
012584247c Completed control and mixer API 2001-02-09 11:20:32 +00:00
Abramo Bagnara
7d75ba2c1b Better names for control API 2001-02-07 15:13:17 +00:00
Abramo Bagnara
0ef8943fb0 Control API encapsulation. Better names for kernel API. Simpler PCM hw_params API. Added missing const. 2001-02-06 23:48:29 +00:00
Abramo Bagnara
3df0171dc0 Encapsulated hwdep. Converted all enums to type safety 2001-02-05 15:44:45 +00:00
Abramo Bagnara
2121e1576c Corrected and completed encapsulation for PCM and rawmidi. Remove SND_PCM_HW_PARAM_* and use functions. Separated rawmidi info between streams 2001-02-04 17:03:19 +00:00
Abramo Bagnara
a2426856b3 Removed card type from devices info. Added card number to devices info. Completed encapsulation of PCM API. Removed snd_pcm_card(). All copy functions now have the form copy(dst, src). 2001-01-31 17:26:59 +00:00
Abramo Bagnara
6f4c05c64a Added snd_ prefix to mask and interval. Divided header.h wrappers 2001-01-30 16:51:28 +00:00
Abramo Bagnara
d1f96b62a8 First step toward encapsulation 2001-01-29 14:27:56 +00:00
Abramo Bagnara
72db56ca30 Fixed aplay -l 2001-01-29 08:41:26 +00:00
Abramo Bagnara
025a1c8d26 Added I/O classes 2001-01-17 11:00:34 +00:00
Abramo Bagnara
be058e4a04 Changed some remaining size_t's 2001-01-15 13:43:08 +00:00
Abramo Bagnara
744c8798c0 New PCM model with fragment concept removal and two interrupt sources
Renamed size_t/ssize_t to snd_pcm_sframes_t/snd_pcm_uframes_t
2001-01-15 11:06:55 +00:00
Abramo Bagnara
7b49188c03 Fixed missing mask initialization 2001-01-09 19:35:52 +00:00
Abramo Bagnara
924fa1704a PCM API cleaning. silencing implementation. xfer_min removal 2000-12-29 15:00:55 +00:00
Jaroslav Kysela
652941f76e Updated the S/PDIF test code. 2000-12-22 14:03:15 +00:00
Jaroslav Kysela
84f294a3b9 S/PDIF related changes.. 2000-12-21 21:53:07 +00:00
Abramo Bagnara
a3696de829 New hw_params implementation 2000-12-21 20:44:11 +00:00
Jaroslav Kysela
2f0a374adb pcm_name defaults to plug:0,0 2000-12-11 12:29:49 +00:00
Abramo Bagnara
2f6416f347 Fixed non interleaved with only one channels case 2000-12-11 11:19:39 +00:00
Abramo Bagnara
eadcd7a727 Runtime hw_info constraints support. New hw_info with lengths 2000-12-07 15:58:04 +00:00
Abramo Bagnara
5f542e20aa More relaxed strategy 2000-12-04 10:08:30 +00:00