summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2014-10-03 14:11:45 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2014-10-03 14:11:45 +0200
commit9302f0fc8ba2902866a066ba1d7bcc8c89544f2c (patch)
treeb38bf115c138a8ead938da939cf5b2953b3118f0 /src
parent2ac0f63707007de0e2f0b2617f6c96eefc78729b (diff)
New aiorecord/aioplay stub programs.
Diffstat (limited to 'src')
-rw-r--r--src/aiorecord.cc16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/aiorecord.cc b/src/aiorecord.cc
index fefb859..ac719cb 100644
--- a/src/aiorecord.cc
+++ b/src/aiorecord.cc
@@ -205,9 +205,10 @@ int main(int argc, char *argv[])
return 1;
}
+ size_t buffer_size = src->getBufferSize();
+ char *pcm = (char*)calloc(buffer_size, 1);
while(running) {
- char pcm[1024];
- int size = src->readSamples(pcm, sizeof(pcm));
+ int size = src->readSamples(pcm, buffer_size);
if(size < 0) {
printf("PCM read error: %d\n", size);
break;
@@ -215,7 +216,9 @@ int main(int argc, char *argv[])
size_t w = fwrite(pcm, size, 1, fp); (void)w;
if(verbose) vu(pcm, size);
}
+
fclose(fp);
+ free(pcm);
printf("\ndone\n");
}
@@ -234,10 +237,11 @@ int main(int argc, char *argv[])
perror("");
return 1;
}
-
+
+ size_t buffer_size = sink->getBufferSize();
+ char *pcm = (char*)calloc(buffer_size, 1);
while(running && !feof(fp)) {
- char pcm[2048];
- size_t size = fread(pcm, 1, sizeof(pcm), fp);
+ size_t size = fread(pcm, 1, buffer_size, fp);
int err = sink->writeSamples(pcm, size);
if(err < 0) {
printf("PCM write error: %d - size: %d\n", err, size);
@@ -245,7 +249,9 @@ int main(int argc, char *argv[])
}
if(verbose) vu(pcm, size);
}
+
fclose(fp);
+ free(pcm);
printf("\ndone\n");
}