From 675ded0d66b9fd60777d3037ded1446a3f9ef986 Mon Sep 17 00:00:00 2001 From: kartofen Date: Wed, 31 Aug 2022 12:31:38 +0300 Subject: Big Bang --- src/listener.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/listener.c (limited to 'src/listener.c') diff --git a/src/listener.c b/src/listener.c new file mode 100644 index 0000000..0a5df2d --- /dev/null +++ b/src/listener.c @@ -0,0 +1,37 @@ +#include +#include +#include + +#include "socket.h" +#include "display.h" +#include "typedef.h" + +static int fd; + +void on_recv(char *buf, int numbytes) +{ + // read and play audio + write(fd, buf, numbytes); +} + +int main(int argc, char **argv) +{ + int pipefd[2]; + if(pipe2(pipefd, O_NONBLOCK) == -1) { + fputs("pipe: failed", stderr); + return 1; + } + + pid_t p = fork(); + if(p < 0) { + fputs("fork: failed", stderr); + return 1; + } else if(p > 0) { + close(pipefd[0]); + fd = pipefd[1]; + return listener("4950", &on_recv); + } else { + close(pipefd[1]); + display(&argc, argv, pipefd[0]); + } +} -- cgit v1.2.3