diff options
Diffstat (limited to 'src/mov_encoder_writer.cc')
-rw-r--r-- | src/mov_encoder_writer.cc | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/src/mov_encoder_writer.cc b/src/mov_encoder_writer.cc deleted file mode 100644 index 1773527..0000000 --- a/src/mov_encoder_writer.cc +++ /dev/null @@ -1,140 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * mov_encoder_writer.cc - * - * Sun May 22 12:51:36 CEST 2005 - * Copyright 2005 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 <config.h> -#include "mov_encoder_writer.h" - -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> - -#include <pthread.h> -#include <semaphore.h> - -#include <errno.h> - -#include <string> -using namespace std; - -#include "miav_config.h" - -#include <time.h> - -#include "multiplexer.h" -#include "libmplex_wrapper.h" - -#include "multicast_configuration.h" - -MovEncoderWriter::MovEncoderWriter(const char *clientip, const char* cpr, - ThreadSafeQueuePriority *video_q, - ThreadSafeQueuePriority *audio_q, - Info *i) -{ - info = i; - info->info("MovEncoderWriter"); - - // Create path and filename - char fname[256]; - string *server_root; - char birthmonth[3]; - char date[32]; - - // Get server root - server_root = config->readString("server_movie_root"); - - // Copy the bytes representing the birth month from the cpr - // [dd][mm][yy]-[nn][nn] - strncpy(birthmonth, &cpr[2], 2); - birthmonth[2] = 0; - - // Create date (today) in [yyyy][mm][dd] - struct tm *ltime; - time_t t = time(NULL); - ltime = localtime(&t); - sprintf(date, "%.4d%.2d%.2d", - ltime->tm_year + 1900, - ltime->tm_mon + 1, // Ranging from 0 to 11 - ltime->tm_mday); - - sprintf(fname, "%s/%s/%s/%s-%s-", server_root->c_str(), birthmonth, cpr, cpr, date); - - file = new File(fname, "mpg", info); - - MulticastConfiguration mcconfig(info, ETC"/multicast.conf"); - - mcastconf_t mcclientconf = mcconfig.getConf((char*)clientip); - - info->info("Client: %s - Enabled: %s - Addr: %s - Port: %d - WithAudio: %s", - mcclientconf.client.c_str(), - mcclientconf.enabled?"Yes\0":"No\0", - mcclientconf.addr.c_str(), - mcclientconf.port, - mcclientconf.with_audio?"Yes\0":"No\0"); - - - multicast = NULL; - if(mcclientconf.enabled) multicast = new Multicast(info, - mcclientconf); - - video_queue = video_q; - audio_queue = audio_q; - - running = true; -} - -MovEncoderWriter::~MovEncoderWriter() -{ - info->info("~MovEncoderWriter"); - delete file; - if(multicast) delete multicast; -} - -void MovEncoderWriter::thread_main() -{ - info->info("MovEncoderWriter::run"); - -#ifdef WITH_LIBMPLEX - LibMPlexWrapper mplex(info, - file, - video_queue, - audio_queue); - mplex.multiplex(); -#else/*WITH_LIBMPLEX*/ - Multiplexer multiplexer(file, multicast, - info, &running, - video_queue, - audio_queue); - multiplexer.multiplex(); -#endif/*WITH_LIBMPLEX*/ - - info->info("MovEncoderWriter::stop"); -} - -void MovEncoderWriter::setSaveState(n_savestate savestate) -{ - file->setSaveState(savestate); -} |