From 347b1d8ed3a4f780f3a5c0d57a04eab05ca517a2 Mon Sep 17 00:00:00 2001 From: deva Date: Wed, 16 Aug 2006 23:49:23 +0000 Subject: Replaced the old MiavConfig class with the new Configuration class in all the the appropriate places. Crippled the MulticastConfiguration class. This must be rewritten to use the new configuration interface. --- server/img_encoder.cc | 9 +++++---- server/img_encoder.h | 1 - server/info_console.cc | 5 +++-- server/libfame_wrapper.cc | 27 ++++++++++++++++++++------- server/liblame_wrapper.cc | 14 +++++++++++--- server/libmplex_wrapper.cc | 1 - server/miav_server.cc | 32 +++++++++++++++++++++----------- server/miav_server.h | 30 ------------------------------ server/mov_encoder.cc | 8 ++++++-- server/mov_encoder.h | 1 - server/mov_encoder_thread.cc | 13 +++++++++---- server/mov_encoder_thread.h | 1 - server/mov_encoder_writer.cc | 10 +++++----- server/mov_encoder_writer.h | 4 ---- server/multicast.cc | 7 ++++--- server/multicast.h | 1 - server/multicast_configuration.cc | 3 +++ server/multicast_configuration.h | 17 +++++++++++------ server/server.cc | 1 - 19 files changed, 98 insertions(+), 87 deletions(-) delete mode 100644 server/miav_server.h diff --git a/server/img_encoder.cc b/server/img_encoder.cc index df44686..c6670af 100644 --- a/server/img_encoder.cc +++ b/server/img_encoder.cc @@ -35,7 +35,7 @@ #include "img_encoder.h" #include -#include "miav_config.h" +#include "configuration.h" #include "info.h" extern "C" { @@ -52,13 +52,14 @@ ImgEncoder::ImgEncoder(const char* cpr) { // Create path and filename char fname[256]; - std::string *server_root; + std::string server_root; char birthmonth[3]; char date[32]; char encrypted_cpr[32]; // Get server root - server_root = MIaV::config->readString("server_image_root"); + if(MIaV::config->get("server_image_root", &server_root)) + MIaV::info->error("could not read symbol [server_image_root] from conf file!"); // Copy the bytes representing the birth month from the cpr // [dd][mm][yy]-[nn][nn] @@ -89,7 +90,7 @@ ImgEncoder::ImgEncoder(const char* cpr) cnt++; } - sprintf(fname, "%s/%s/%s/%s-%s-", server_root->c_str(), birthmonth, encrypted_cpr, cpr, date); + sprintf(fname, "%s/%s/%s/%s-%s-", server_root.c_str(), birthmonth, encrypted_cpr, cpr, date); file = new File(fname, "jpg"); } diff --git a/server/img_encoder.h b/server/img_encoder.h index c9b8885..3f069e0 100644 --- a/server/img_encoder.h +++ b/server/img_encoder.h @@ -43,7 +43,6 @@ //#include //#include -#include "info.h" #include "file.h" #define VIDEO_BUFFER_SIZE (1024*1024) // FIXME: One size fits all... diff --git a/server/info_console.cc b/server/info_console.cc index da99b7a..fdceb2f 100644 --- a/server/info_console.cc +++ b/server/info_console.cc @@ -27,14 +27,15 @@ #include #include "info_console.h" -#include "miav_config.h" +#include "configuration.h" #include #include InfoConsole::InfoConsole(): Info() { - log_filename = *(MIaV::config->readString("server_log_file")); + if(MIaV::config->get("server_log_file", &log_filename)) + fprintf(stderr, "Could not read symbol [server_log_file] from conf file!\n"); } InfoConsole::~InfoConsole() diff --git a/server/libfame_wrapper.cc b/server/libfame_wrapper.cc index 1b0694a..058a158 100644 --- a/server/libfame_wrapper.cc +++ b/server/libfame_wrapper.cc @@ -29,7 +29,7 @@ #include -#include "miav_config.h" +#include "configuration.h" #include "info.h" #include "frame.h" @@ -94,13 +94,22 @@ LibFAMEWrapper::LibFAMEWrapper() // to JPEG), whereas P and B frames are motion compressed, respectively // predicted from past reference (I or P) frame, or bidirectionally predicted // from past and future reference frame. - fame_par.coding = MIaV::config->readString("frame_sequence")->c_str(); + std::string coding; + if(MIaV::config->get("frame_sequence", &coding)) + MIaV::info->error("Could not read symbol [frame_sequence] from conf file!"); + fame_par.coding = coding.c_str(); // quality is a percentage, which controls compression versus quality. - fame_par.quality = MIaV::config->readInt("video_quality"); + int quality; + if(MIaV::config->get("video_quality", &quality)) + MIaV::info->error("Could not read symbol [video_quality] from conf file!"); + fame_par.quality = quality; // Bitrate - fame_par.bitrate = MIaV::config->readInt("video_bitrate") * 1000; // video bitrate in bytes pr second (0=VBR) + int bitrate; + if(MIaV::config->get("video_bitrate", &bitrate)) + MIaV::info->error("Could not read symbol [video_bitrate] from conf file!"); + fame_par.bitrate = bitrate * 1000; // video bitrate in bytes pr second (0=VBR) // slices_per_frame is the number of frame slices per frame. More slices provide // better error recovery. There must be at least one slice per frame, and at most @@ -133,7 +142,11 @@ LibFAMEWrapper::LibFAMEWrapper() fame_par.profile = profilename; // profile name fame_par.total_frames = 0; // total number of frames - if(strcmp(MIaV::config->readString("encoding_codec")->c_str(), "mpeg4") == 0) { + std::string codec; + if(MIaV::config->get("encoding_codec", &codec)) + MIaV::info->error("Could not read symbol [encoding_codec] from conf file!"); + + if(strcmp(codec.c_str(), "mpeg4") == 0) { MIaV::info->info("Using mpeg4 compression."); fame_object_t *object; @@ -141,7 +154,7 @@ LibFAMEWrapper::LibFAMEWrapper() object = fame_get_object(fame_context, "profile/mpeg4/simple"); if(object) fame_register(fame_context, "profile", object); - } else if(strcmp(MIaV::config->readString("encoding_codec")->c_str(), "mpeg1") == 0) { + } else if(strcmp(codec.c_str(), "mpeg1") == 0) { MIaV::info->info("Using mpeg1 compression."); fame_object_t *object; @@ -149,7 +162,7 @@ LibFAMEWrapper::LibFAMEWrapper() object = fame_get_object(fame_context, "profile/mpeg1"); if(object) fame_register(fame_context, "profile", object); - } else if(strcmp(MIaV::config->readString("encoding_codec")->c_str(), "mpeg1") == 0) { + } else if(strcmp(codec.c_str(), "mpeg1") == 0) { } else { MIaV::info->info("Using default (mpeg1) compression."); } diff --git a/server/liblame_wrapper.cc b/server/liblame_wrapper.cc index 9bac35b..2ffd923 100644 --- a/server/liblame_wrapper.cc +++ b/server/liblame_wrapper.cc @@ -26,7 +26,7 @@ */ #include #include "liblame_wrapper.h" -#include "miav_config.h" +#include "configuration.h" #include "info.h" LibLAMEWrapper::LibLAMEWrapper() @@ -45,9 +45,17 @@ LibLAMEWrapper::LibLAMEWrapper() // lame_set_num_samples(gfp, SAMPLES); // lame_set_num_samples(gfp, 0); - lame_set_quality(gfp, MIaV::config->readInt("mp3_quality")); + int quality; + if(MIaV::config->get("mp3_quality", &quality)) + MIaV::info->error("Could not read symbol [mp3_quality] from conf file!"); + + int bitrate; + if(MIaV::config->get("mp3_bitrate", &bitrate)) + MIaV::info->error("Could not read symbol [mp3_bitrate] from conf file!"); + + lame_set_quality(gfp, quality); lame_set_mode(gfp, STEREO); - lame_set_brate(gfp, MIaV::config->readInt("mp3_bitrate")); + lame_set_brate(gfp, bitrate); lame_set_strict_ISO(gfp, 1); diff --git a/server/libmplex_wrapper.cc b/server/libmplex_wrapper.cc index e026656..bfc4452 100644 --- a/server/libmplex_wrapper.cc +++ b/server/libmplex_wrapper.cc @@ -26,7 +26,6 @@ */ #include "config.h" #include "libmplex_wrapper.h" -#include "miav_config.h" #ifdef WITH_LIBMPLEX diff --git a/server/miav_server.cc b/server/miav_server.cc index 28c45b6..8cd7a42 100644 --- a/server/miav_server.cc +++ b/server/miav_server.cc @@ -27,14 +27,15 @@ // For ETC #include "config.h" -#include "miav_server.h" -#include "miav_config.h" +#include "configuration.h" #include "info_console.h" #include #include +#include + #include "server.h" #include "socket.h" #include "network.h" @@ -120,19 +121,25 @@ int main(int argc, char *argv[]) fprintf(stderr, "Using config file [%s]\n", config_file); - MiavConfig cfg(config_file); - MIaV::initConfig(&cfg); + Configuration config(config_file); + MIaV::initConfig(&config); InfoConsole info; MIaV::initInfo(&info); - string user; - if(user_opt) user = string(user_opt); - else user = *cfg.readString("server_user"); + std::string user; + if(user_opt) user = std::string(user_opt); + else { + if(config.get("server_user", &user)) + info.error("Could not read symbol [server_user] from the conf file!"); + } - string group; - if(group_opt) group = string(group_opt); - else group = *cfg.readString("server_group"); + std::string group; + if(group_opt) group = std::string(group_opt); + else { + if(config.get("server_group", &group)) + info.error("Could not read symbol [server_group] from the conf file!"); + } // Fetch user id int uid = -1; @@ -166,7 +173,10 @@ int main(int argc, char *argv[]) fprintf(stderr, "Running in foreground mode.\n"); } - int port = MIaV::config->readInt("server_port"); + int port; + if(config.get("server_port", &port)) + info.error("Could not read symbol [server_port] from the conf file!"); + pid_t childpid; // variable to store the child's pid signal(SIGCLD, SIG_IGN); // Ved SIGCHILD til IGNORE maa wait/waitpid ikke kaldes diff --git a/server/miav_server.h b/server/miav_server.h deleted file mode 100644 index eeeccf6..0000000 --- a/server/miav_server.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * miav.h - * - * Mon Nov 8 09:59:24 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. - */ -#ifndef __LIBMIAV_H__ -#define __LIBMIAV_H__ - -#endif/*__LIBMIAV_H__*/ diff --git a/server/mov_encoder.cc b/server/mov_encoder.cc index 15135df..2b10f73 100644 --- a/server/mov_encoder.cc +++ b/server/mov_encoder.cc @@ -39,7 +39,7 @@ // For nice #include -#include "miav_config.h" +#include "configuration.h" #include "info.h" #include "libfame_wrapper.h" @@ -99,7 +99,11 @@ void MovEncoder::thread_main() *running = false; // Kick them sleepy ones so they get the message. - int threads = MIaV::config->readInt("encoding_threads") - 1; // -1 cause we only need the others! + int threads; + if(MIaV::config->get("encoding_threads", &threads)) + MIaV::info->error("Could not read the symbol [encoding_threads] from the conf file!"); + threads -= 1; // -1 cause we only need the others! + for(int cnt = 0; cnt < threads; cnt++) { inputqueue->push(NULL); } diff --git a/server/mov_encoder.h b/server/mov_encoder.h index 9b99959..18a7b46 100644 --- a/server/mov_encoder.h +++ b/server/mov_encoder.h @@ -29,7 +29,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "config.h" #ifndef __RTVIDEOREC_ENCODER_H #define __RTVIDEOREC_ENCODER_H diff --git a/server/mov_encoder_thread.cc b/server/mov_encoder_thread.cc index 63bc3c6..24f3a42 100644 --- a/server/mov_encoder_thread.cc +++ b/server/mov_encoder_thread.cc @@ -24,10 +24,10 @@ * along with MIaV; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#include #include "mov_encoder_thread.h" + #include -#include "miav_config.h" +#include "configuration.h" #include "info.h" MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr) @@ -50,11 +50,16 @@ MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr) block = new FrameVector(); - num_frames_in_block = MIaV::config->readString("frame_sequence")->length(); + std::string blockstring; + if(MIaV::config->get("frame_sequence", &blockstring)) + MIaV::info->error("Could not read the symbol [frame_sequence] from the conf file!"); + + num_frames_in_block = blockstring.length(); MIaV::info->info("Frame sequence length %d", num_frames_in_block); - threads = MIaV::config->readInt("encoding_threads"); + if(MIaV::config->get("encoding_threads", &threads)) + MIaV::info->error("Could not read the symbol [encoding_threads] from the conf file!"); movencodersrunning = true; diff --git a/server/mov_encoder_thread.h b/server/mov_encoder_thread.h index 1af803d..b2d6fd2 100644 --- a/server/mov_encoder_thread.h +++ b/server/mov_encoder_thread.h @@ -24,7 +24,6 @@ * 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" #ifndef __MIAV_MOV_ENCODER_THREAD_H__ #define __MIAV_MOV_ENCODER_THREAD_H__ diff --git a/server/mov_encoder_writer.cc b/server/mov_encoder_writer.cc index 8f432ee..54c816d 100644 --- a/server/mov_encoder_writer.cc +++ b/server/mov_encoder_writer.cc @@ -40,9 +40,8 @@ #include #include -using namespace std; -#include "miav_config.h" +#include "configuration.h" #include "info.h" #include @@ -60,12 +59,13 @@ MovEncoderWriter::MovEncoderWriter(const char *clientip, const char* cpr, // Create path and filename char fname[256]; - string *server_root; + std::string server_root; char birthmonth[3]; char date[32]; // Get server root - server_root = MIaV::config->readString("server_movie_root"); + if(MIaV::config->get("server_movie_root", &server_root)) + MIaV::info->error("Could not read the symbol [server_movie_root] from the conf file!"); // Copy the bytes representing the birth month from the cpr // [dd][mm][yy]-[nn][nn] @@ -81,7 +81,7 @@ MovEncoderWriter::MovEncoderWriter(const char *clientip, const char* cpr, 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); + sprintf(fname, "%s/%s/%s/%s-%s-", server_root.c_str(), birthmonth, cpr, cpr, date); file = new File(fname, "mpg"); diff --git a/server/mov_encoder_writer.h b/server/mov_encoder_writer.h index 88e8bdf..e519ee8 100644 --- a/server/mov_encoder_writer.h +++ b/server/mov_encoder_writer.h @@ -24,7 +24,6 @@ * 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" #ifndef __MIAV_MOV_ENCODER_WRITER_H__ #define __MIAV_MOV_ENCODER_WRITER_H__ @@ -36,9 +35,6 @@ #include "threadsafe_queue_priority.h" -#include -using namespace std; - // For n_savestate #include "package.h" diff --git a/server/multicast.cc b/server/multicast.cc index 2bb6df1..d78f68b 100644 --- a/server/multicast.cc +++ b/server/multicast.cc @@ -24,12 +24,11 @@ * 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 "multicast.h" #include "multicast_configuration.h" -#include "miav_config.h" +#include "configuration.h" #include "info.h" #include @@ -59,7 +58,9 @@ Multicast::Multicast(mcastconf_t &mcclientconf) mcclientconf.addr.c_str(), mcclientconf.port); - int mtu = MIaV::config->readInt("udp_packet_size"); + int mtu; + if(MIaV::config->get("udp_packet_size", &mtu)) + MIaV::info->error("Could not read the symbol [udp_packet_size] from the conf file!"); // Create buffer with the size of MTU // socklen_t mtu_sz; diff --git a/server/multicast.h b/server/multicast.h index d4fa784..1e4978a 100644 --- a/server/multicast.h +++ b/server/multicast.h @@ -24,7 +24,6 @@ * 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" #ifndef __MIAV_MULTICAST_H__ #define __MIAV_MULTICAST_H__ diff --git a/server/multicast_configuration.cc b/server/multicast_configuration.cc index 03b4a79..b9ed8db 100644 --- a/server/multicast_configuration.cc +++ b/server/multicast_configuration.cc @@ -24,6 +24,8 @@ * 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 "multicast_configuration.h" @@ -110,6 +112,7 @@ mcastconf_t &MulticastConfiguration::getConf(char *client) return global_conf; } +*/ #ifdef __TEST_MULTICAST_CONFIGURATION #include "info_simple.h" diff --git a/server/multicast_configuration.h b/server/multicast_configuration.h index 9ff320a..a7aa884 100644 --- a/server/multicast_configuration.h +++ b/server/multicast_configuration.h @@ -24,11 +24,10 @@ * 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" #ifndef __MIAV_MULTICAST_CONFIGURATION_H__ #define __MIAV_MULTICAST_CONFIGURATION_H__ -#include "miav_config.h" +//#include "miav_config.h" #include #include @@ -41,16 +40,22 @@ typedef struct { bool with_audio; } mcastconf_t; -class MulticastConfiguration : private MiavConfig { +class MulticastConfiguration { public: - MulticastConfiguration(char *file); - ~MulticastConfiguration(); + MulticastConfiguration(char *file){} + ~MulticastConfiguration(){} - mcastconf_t &getConf(char *client); + mcastconf_t &getConf(char *client){ + a.client = "192.168.0.10"; + return a; + } private: + mcastconf_t a;//hack + std::vector confs; mcastconf_t global_conf; }; + #endif/*__MIAV_MULTICAST_CONFIGURATION_H__*/ diff --git a/server/server.cc b/server/server.cc index 0688a3e..5088fa5 100644 --- a/server/server.cc +++ b/server/server.cc @@ -50,7 +50,6 @@ #include #include -#include "miav_config.h" #include "info.h" #include "mov_encoder_thread.h" -- cgit v1.2.3