summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2011-06-08 21:43:34 +0000
committerChristian Pointner <equinox@spreadspace.org>2011-06-08 21:43:34 +0000
commitdeb349fb22e194b8865971d297580127f13e0603 (patch)
treeefaa6291723f3810530e84be090fde86893143e4
parentfixed error output (diff)
added accept()
-rw-r--r--src/streamer.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/streamer.c b/src/streamer.c
index 8f79c1e..b09aa50 100644
--- a/src/streamer.c
+++ b/src/streamer.c
@@ -136,10 +136,17 @@ static gpointer streamer_thread_func(gpointer data)
log_printf(NOTICE, "streamer thread started");
GstBuffer* buf = NULL;
+ struct sockaddr_in remote_addr;
+ memset (&remote_addr, 0, sizeof(remote_addr));
for(;;) {
- // TODO: call accept here
- sleep(100);
- break;
+ int alen=sizeof(remote_addr);
+ int new_client = accept(streamer->fd_, (struct sockaddr *)&remote_addr, &alen);
+ if(new_client==-1) {
+ log_printf(INFO, "accept() call failed");
+ break;
+ }
+ log_printf(INFO, "new connection %s:%d (fd=%d)\n", inet_ntoa(remote_addr.sin_addr), ntohs(remote_addr.sin_port), new_client);
+ add_fd(streamer, new_client);
}
log_printf(NOTICE, "streamer thread stopped");