From f83b395168155d0421dbc093a37bd075dc51ed53 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Wed, 1 Aug 2012 20:30:37 +0200 Subject: Added socket class and made simple test app using fork. --- src/crosscomposer.cc | 49 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 9 deletions(-) (limited to 'src/crosscomposer.cc') diff --git a/src/crosscomposer.cc b/src/crosscomposer.cc index c8992ff..010aa92 100644 --- a/src/crosscomposer.cc +++ b/src/crosscomposer.cc @@ -27,22 +27,53 @@ */ #include +#include "socket.h" + #include "audioin.h" #include "audioout.h" +#define NUM_SAMPLES 940 + int main(int argc, char *argv[]) { - AudioIn in("default", "Capture", 44101, 1); - AudioOut out("default", 44101, 1); - sample_t samples[940]; - int i = 50; - while(i--) { - int sz = in.read(samples, sizeof(samples)); - out.write(samples, sz); - printf("."); fflush(stdout); + Socket s; + s.open("127.0.0.1", 10000); + + switch(fork()) { + case 0: + { + AudioIn in("default", "Capture", 44100, 1); + s.setSend(0); + + int i = 50; + while(i--) { + int sz = in.read(samples, NUM_SAMPLES); + for(size_t i = 0; i < NUM_SAMPLES; i++) { + samples[i] = ((sample_t)rand() / (float)RAND_MAX) * 10; + } + s.sendTo(samples, sz * sizeof(sample_t)); + printf("s"); fflush(stdout); + } + printf("S!\n"); + } + break; + + default: + { + s.setRecv(); + AudioOut out("default", 44100, 1); + + int i = 50; + while(i--) { + int sz = s.recvFrom(samples, sizeof(samples)); + out.write(samples, sz / sizeof(sample_t)); + printf("r%f", samples[0]); fflush(stdout); + } + printf("R!\n"); + } + break; } - printf("!\n"); return 0; } -- cgit v1.2.3