From 8f9101869f6b460f61033ce434bba0a793d25137 Mon Sep 17 00:00:00 2001 From: deva Date: Fri, 9 Jun 2006 18:20:51 +0000 Subject: Moved files to other folder: lib - Shared files between server and client client - Client files server - Server files --- src/server.cc | 136 ---------------------------------------------------------- 1 file changed, 136 deletions(-) delete mode 100644 src/server.cc (limited to 'src/server.cc') 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 -#include - -// For mkdir -#include -#include - -// For unlink -#include - -// For errno -#include - -// For inet_ntoa -#include -#include -#include - -#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"); -} -- cgit v1.2.3