diff options
Diffstat (limited to 'src/streamer.c')
-rw-r--r-- | src/streamer.c | 13 |
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"); |