summaryrefslogtreecommitdiff
path: root/src/server.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.cc')
-rw-r--r--src/server.cc136
1 files changed, 0 insertions, 136 deletions
diff --git a/src/server.cc b/src/server.cc
deleted file mode 100644
index 34aac7b..0000000
--- a/src/server.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * server.cc
- *
- * Mon Nov 8 11:35:01 CET 2004
- * Copyright 2004 Bent Bisballe
- * deva@aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of MIaV.
- *
- * MIaV is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MIaV is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with MIaV; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "server.h"
-#include "miav.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-// For mkdir
-#include <sys/stat.h>
-#include <sys/types.h>
-
-// For unlink
-#include <unistd.h>
-
-// For errno
-#include <errno.h>
-
-// For inet_ntoa
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "miav_config.h"
-
-#include "mov_encoder_thread.h"
-#include "img_encoder.h"
-
-#include "server_status.h"
-
-#include "dv.h"
-
-void newConnection(Socket *socket, Info *info)
-{
- char cpr[256];
- char clientip[64];
- bool hasCpr = false;
- ServerStatus status(info);
-
- n_savestate savestate = LATER;
- n_header h;
- Frame *frame;
- Frame *freeze_frame = NULL;
- MovEncoderThread *enc = NULL;
-
- frame = new Frame(NULL, DVPACKAGE_SIZE);
-
- info->info("CONNECTION OPENED");
- info->info("New connection (%s)", inet_ntoa(socket->socketaddr.sin_addr));
-
- sprintf(clientip, "%s", inet_ntoa(socket->socketaddr.sin_addr));
-
- Network network = Network(socket, info);
- while(int ret = network.recvPackage(&h, frame->data, frame->size)) {
- status.checkPoint();
-
- if(ret == -1) {
- info->error("A network error ocurred, terminating session");
- break;
- }
-
- frame->mute = h.header.h_data.mute;
-
- if(!hasCpr) {
- sprintf(cpr, h.header.h_data.cpr);
- hasCpr = true;
- }
-
- if(h.header.h_data.snapshot) {
- if(freeze_frame) {
- ImgEncoder(cpr, info).encode(freeze_frame, 100);
- delete freeze_frame;
- freeze_frame = NULL;
- } else {
- ImgEncoder(cpr, info).encode(frame, 100);
- }
- }
-
- if(h.header.h_data.savestate != NO_CHANGE) {
- savestate = h.header.h_data.savestate;
- info->info("GOT SAVESTATE FROM NETWORK: %d", savestate );
- }
-
- if(h.header.h_data.freeze) {
- if(freeze_frame) delete freeze_frame;
- // copy the frame into another temporary one.
- freeze_frame = new Frame(frame->data, frame->size);
- }
-
- // This one must be last!
- if(h.header.h_data.record) {
- // if(!enc) enc = newMovEncoder(cpr);
- if(!enc) enc = new MovEncoderThread(clientip, cpr, info);
- enc->encode(frame);
- }
-
- frame = new Frame(NULL, DVPACKAGE_SIZE);
- }
-
- info->info("Closing connection...");
-
- // No encoder exists, if this is a pure snapshot (image) connection.
- if(enc) {
- enc->setSaveState(savestate);
- // Send end of stream frame.
- frame->endOfFrameStream = true;
- enc->encode(frame);
- delete enc;
- }
-
- info->info("CONNECTION CLOSED");
-}