summaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-05-06 20:56:43 +0000
committerLennart Poettering <lennart@poettering.net>2006-05-06 20:56:43 +0000
commit5f9bbf005a81a0f7d009e3fad3f6a4e8d4c5e6bb (patch)
treea63ed7e76939785408a906a63c581b244ecb658c /src/tests
parentbb6c45dee8b2627527429e65637354635cc98ea1 (diff)
add support for reading audio data from a file instead of plain STDIN in pacat-simple.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@830 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/pacat-simple.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tests/pacat-simple.c b/src/tests/pacat-simple.c
index 0382ec06..6a75c790 100644
--- a/src/tests/pacat-simple.c
+++ b/src/tests/pacat-simple.c
@@ -27,6 +27,7 @@
#include <unistd.h>
#include <string.h>
#include <errno.h>
+#include <fcntl.h>
#include <polyp/simple.h>
#include <polyp/error.h>
@@ -47,6 +48,23 @@ int main(PA_GCC_UNUSED int argc, char*argv[]) {
int ret = 1;
int error;
+ /* replace STDIN with the specified file if needed */
+ if (argc > 1) {
+ int fd;
+
+ if ((fd = open(argv[1], O_RDONLY)) < 0) {
+ fprintf(stderr, __FILE__": open() failed: %s\n", strerror(errno));
+ goto finish;
+ }
+
+ if (dup2(fd, STDIN_FILENO) < 0) {
+ fprintf(stderr, __FILE__": dup2() failed: %s\n", strerror(errno));
+ goto finish;
+ }
+
+ close(fd);
+ }
+
/* Create a new playback stream */
if (!(s = pa_simple_new(NULL, argv[0], PA_STREAM_PLAYBACK, NULL, "playback", &ss, NULL, &error))) {
fprintf(stderr, __FILE__": pa_simple_new() failed: %s\n", pa_strerror(error));