From c78ab3cbeb072f0efa2824cb39bfad5e76d53874 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 29 Aug 2013 21:50:23 +0100 Subject: Remove some old run/ scripts. Make server test build again. --- src/tools/server_test.cc | 158 +++++++++++++++++++++++++++++++++++++++++ src/tools/servomatictest.cc | 168 -------------------------------------------- src/tools/test.cc | 34 --------- src/tools/wscript | 2 +- 4 files changed, 159 insertions(+), 203 deletions(-) create mode 100644 src/tools/server_test.cc delete mode 100644 src/tools/servomatictest.cc delete mode 100644 src/tools/test.cc (limited to 'src') diff --git a/src/tools/server_test.cc b/src/tools/server_test.cc new file mode 100644 index 000000000..029e62614 --- /dev/null +++ b/src/tools/server_test.cc @@ -0,0 +1,158 @@ +/* + Copyright (C) 2012 Carl Hetherington + + This program 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. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include +#include +#include +#include +#include "lib/ratio.h" +#include "lib/film.h" +#include "lib/filter.h" +#include "lib/util.h" +#include "lib/scaler.h" +#include "lib/server.h" +#include "lib/dcp_video_frame.h" +#include "lib/decoder.h" +#include "lib/exceptions.h" +#include "lib/scaler.h" +#include "lib/log.h" +#include "lib/video_decoder.h" +#include "lib/player.h" + +using std::cout; +using std::cerr; +using std::string; +using std::pair; +using boost::shared_ptr; + +static shared_ptr film; +static ServerDescription* server; +static shared_ptr log_ (new FileLog ("servomatictest.log")); +static int frame = 0; + +void +process_video (shared_ptr image, Eyes eyes, ColourConversion conversion, Time) +{ + shared_ptr local (new DCPVideoFrame (image, frame, eyes, conversion, film->video_frame_rate(), 250000000, log_)); + shared_ptr remote (new DCPVideoFrame (image, frame, eyes, conversion, film->video_frame_rate(), 250000000, log_)); + + cout << "Frame " << frame << ": "; + cout.flush (); + + ++frame; + + shared_ptr local_encoded = local->encode_locally (); + shared_ptr remote_encoded; + + string remote_error; + try { + remote_encoded = remote->encode_remotely (*server); + } catch (NetworkError& e) { + remote_error = e.what (); + } + + if (!remote_error.empty ()) { + cout << "\033[0;31mnetwork problem: " << remote_error << "\033[0m\n"; + return; + } + + if (local_encoded->size() != remote_encoded->size()) { + cout << "\033[0;31msizes differ\033[0m\n"; + return; + } + + uint8_t* p = local_encoded->data(); + uint8_t* q = remote_encoded->data(); + for (int i = 0; i < local_encoded->size(); ++i) { + if (*p++ != *q++) { + cout << "\033[0;31mdata differ\033[0m at byte " << i << "\n"; + return; + } + } + + cout << "\033[0;32mgood\033[0m\n"; +} + +static void +help (string n) +{ + cerr << "Syntax: " << n << " [--help] --film --server \n"; + exit (EXIT_FAILURE); +} + +int +main (int argc, char* argv[]) +{ + string film_dir; + string server_host; + + while (1) { + static struct option long_options[] = { + { "help", no_argument, 0, 'h'}, + { "server", required_argument, 0, 's'}, + { "film", required_argument, 0, 'f'}, + { 0, 0, 0, 0 } + }; + + int option_index = 0; + int c = getopt_long (argc, argv, "hs:f:", long_options, &option_index); + + if (c == -1) { + break; + } + + switch (c) { + case 'h': + help (argv[0]); + exit (EXIT_SUCCESS); + case 's': + server_host = optarg; + break; + case 'f': + film_dir = optarg; + break; + } + } + + if (server_host.empty() || film_dir.empty()) { + help (argv[0]); + exit (EXIT_FAILURE); + } + + dcpomatic_setup (); + + server = new ServerDescription (server_host, 1); + film.reset (new Film (film_dir)); + film->read_metadata (); + + shared_ptr player = film->make_player (); + player->disable_audio (); + + try { + player->Video.connect (boost::bind (process_video, _1, _2, _3, _5)); + bool done = false; + while (!done) { + done = player->pass (); + } + } catch (std::exception& e) { + cerr << "Error: " << e.what() << "\n"; + } + + return 0; +} diff --git a/src/tools/servomatictest.cc b/src/tools/servomatictest.cc deleted file mode 100644 index 88974eed7..000000000 --- a/src/tools/servomatictest.cc +++ /dev/null @@ -1,168 +0,0 @@ -/* - Copyright (C) 2012 Carl Hetherington - - This program 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. - - This program 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 this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include -#include -#include -#include -#include "format.h" -#include "film.h" -#include "filter.h" -#include "util.h" -#include "scaler.h" -#include "server.h" -#include "dcp_video_frame.h" -#include "decoder.h" -#include "exceptions.h" -#include "scaler.h" -#include "log.h" -#include "video_decoder.h" -#include "player.h" - -using std::cout; -using std::cerr; -using std::string; -using std::pair; -using boost::shared_ptr; - -static ServerDescription* server; -static shared_ptr log_ (new FileLog ("servomatictest.log")); -static int frame = 0; - -void -process_video (shared_ptr image, bool, shared_ptr sub) -{ - shared_ptr local ( - new DCPVideoFrame ( - image, sub, - libdcp::Size (1024, 1024), 0, 0, 0, - Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, log_) - ); - - shared_ptr remote ( - new DCPVideoFrame ( - image, sub, - libdcp::Size (1024, 1024), 0, 0, 0, - Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, log_) - ); - - cout << "Frame " << frame << ": "; - cout.flush (); - - ++frame; - - shared_ptr local_encoded = local->encode_locally (); - shared_ptr remote_encoded; - - string remote_error; - try { - remote_encoded = remote->encode_remotely (server); - } catch (NetworkError& e) { - remote_error = e.what (); - } - - if (!remote_error.empty ()) { - cout << "\033[0;31mnetwork problem: " << remote_error << "\033[0m\n"; - return; - } - - if (local_encoded->size() != remote_encoded->size()) { - cout << "\033[0;31msizes differ\033[0m\n"; - return; - } - - uint8_t* p = local_encoded->data(); - uint8_t* q = remote_encoded->data(); - for (int i = 0; i < local_encoded->size(); ++i) { - if (*p++ != *q++) { - cout << "\033[0;31mdata differ\033[0m at byte " << i << "\n"; - return; - } - } - - cout << "\033[0;32mgood\033[0m\n"; -} - -static void -help (string n) -{ - cerr << "Syntax: " << n << " [--help] --film --server \n"; - exit (EXIT_FAILURE); -} - -int -main (int argc, char* argv[]) -{ - string film_dir; - string server_host; - - while (1) { - static struct option long_options[] = { - { "help", no_argument, 0, 'h'}, - { "server", required_argument, 0, 's'}, - { "film", required_argument, 0, 'f'}, - { 0, 0, 0, 0 } - }; - - int option_index = 0; - int c = getopt_long (argc, argv, "hs:f:", long_options, &option_index); - - if (c == -1) { - break; - } - - switch (c) { - case 'h': - help (argv[0]); - exit (EXIT_SUCCESS); - case 's': - server_host = optarg; - break; - case 'f': - film_dir = optarg; - break; - } - } - - if (server_host.empty() || film_dir.empty()) { - help (argv[0]); - exit (EXIT_FAILURE); - } - - dcpomatic_setup (); - - server = new ServerDescription (server_host, 1); - shared_ptr film (new Film (film_dir)); - film->read_metadata (); - - shared_ptr player = film->player (); - player->disable_audio (); - - try { - player->Video.connect (boost::bind (process_video, _1, _2, _3)); - bool done = false; - while (!done) { - done = player->pass (); - } - } catch (std::exception& e) { - cerr << "Error: " << e.what() << "\n"; - } - - return 0; -} diff --git a/src/tools/test.cc b/src/tools/test.cc deleted file mode 100644 index 4baaeb73f..000000000 --- a/src/tools/test.cc +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright (C) 2012 Carl Hetherington - - This program 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. - - This program 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 this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include -#include -#include "image.h" -#include "server.h" - -using namespace boost; - -int main () -{ - uint8_t* rgb = new uint8_t[256]; - shared_ptr image (new Image (rgb, 0, 32, 32, 24)); - Server* s = new Server ("localhost", 2); - image->encode_remotely (s); - return 0; -} diff --git a/src/tools/wscript b/src/tools/wscript index c7ab44604..42fc90adb 100644 --- a/src/tools/wscript +++ b/src/tools/wscript @@ -4,7 +4,7 @@ from waflib import Logs import i18n def build(bld): - for t in ['dcpomatic_cli', 'dcpomatic_server_cli']: + for t in ['dcpomatic_cli', 'dcpomatic_server_cli', 'server_test']: obj = bld(features = 'cxx cxxprogram') obj.uselib = 'BOOST_THREAD OPENJPEG DCP CXML AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE POSTPROC WXWIDGETS' obj.includes = ['..'] -- cgit v1.2.3