aboutsummaryrefslogtreecommitdiff
path: root/tinyplay.c
AgeCommit message (Collapse)Author
2015-12-18Added raw file support in tinyplayJaydeep Dhole
-Added raw file support in tinyplay to play PCM raw files Signed-off-by: Jaydeep Dhole <jaydeepdhole@gmail.com>
2015-09-02initialize pcm_config to zeroHaynes Mathew George
sw_params ioctl() is failing with 'invalid parameter' error since pointer to pcm_config passed from tinyplay is not zero initialized, hence invalid values are passed for some parameters. authored-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org> Bug: 23525433 Change-Id: I841f29c82ec3fb7646ad8c47fca25963b5f77945
2012-12-14tinyplay: Make error messages more meaningfulRom Lemarchand
Compare file parameters with device capabilities and print out the reason(s) why a certain file couldn't be played.
2012-11-09tinyplay: add clean shutdown handler for ctrl-cLiam Girdwood
Shutdown gracefully on ctrl-c signals
2012-10-22tinyplay: Add missing header file <string.h>Gabriel M. Beddingfield
2012-05-04tinyplay: add multichannel supportSimon Wilson
Improve the reading of the RIFF WAVE header so that unrecognised chunks are skipped, which means that extra chunks are not played as if they were audio data. This ensures that all channels for multichannel playback line up correctly. Change-Id: Ifdb3cb73b3c0bf41a1e271068d263cd01116616c
2012-02-13tinyplay: Use buffer size in bytes instead of framesAxel Castaneda Gonzalez
pcm_write expects to receive buffer size given in bytes, but tinyplay sends as a parameter the size in frames, which causes audio sample data loss for some scenarios where more than 2 channels are used. For example: When using 6 channels and 1024 as period size: -On tinyplay side size=4096 (buffer_size) -On pcm_write (pcm.c) x.frames = count / (pcm->config.channels * pcm_format_to_bits(pcm->config.format) / 8); x.frames = 4096 / (6 * 16/8) x.frames = 341.33 (decimal part is discarded, 4 bytes are lost every pcm_write) -- In this case, 4 bytes are lost, which causes a shift of the channels. Use buffer size in bytes in order to avoid this problem. Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com>
2012-02-08tinycap, tinyplay, tinymix: Add extra parameters.Gabriel M. Beddingfield
Command-line arguments are added for: tinyplay and tinycap: -D n -- card number -p n -- period size -n n -- number of periods per buffer tinymix: -D n -- card number Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
2012-02-08tinycap, tinyplay: Check *argv before dereferencing.Gabriel M. Beddingfield
In several places, argv is incremented and *argv is dereferenced without checking to see if it is valid to do so. This could lead to a buffer overrun if the user provides invalid parameters. This patch generally changes this: if (strcmp(*argv, "-r") == 0) { argv++; rate = atoi(*argv); } argv++; To this: if (strcmp(*argv, "-r") == 0) { argv++; if (*argv) rate = atoi(*argv); } if (*argv) argv++; Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
2011-08-09tinyplay: fix segfault caused by missing device argumentSimon Wilson
2011-08-09tinyplay: add support for device parameterChris Kelly
Change-Id: I8f04a5dec575bf20459968fb1f181071ae856ed0
2011-08-05Ensure threasholds are zeroed before opening pcmSimon Wilson
Fixes tinyplay and tinycap after a recent change to allow threasholds to be set in the pcm module.
2011-06-03Fix issues with tinyplaySimon Wilson
- Add to Android.mk - Add "all" rule to Makefile - Remove redundant old play code from tinyplay.c - Add error checking to tinyplay
2011-06-02Add tinyplay utility to play PCM riff/wave filesSimon Wilson