diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-02-03 01:01:32 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-02-03 01:01:32 +0000 |
| commit | 5500e2034203773e15bb3ec0ad8abcd4661fed82 (patch) | |
| tree | e0a90a9b05b217533e3c9af9a70655382b229e3a /src/lib | |
| parent | e775fc5125fdbd955934f04a50a58f6660d6f28e (diff) | |
Move log environment dump stuff out into its own file.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/environment_info.cc | 127 | ||||
| -rw-r--r-- | src/lib/environment_info.h | 20 | ||||
| -rw-r--r-- | src/lib/film.cc | 41 | ||||
| -rw-r--r-- | src/lib/util.cc | 46 | ||||
| -rw-r--r-- | src/lib/util.h | 1 | ||||
| -rw-r--r-- | src/lib/wscript | 1 |
6 files changed, 150 insertions, 86 deletions
diff --git a/src/lib/environment_info.cc b/src/lib/environment_info.cc new file mode 100644 index 000000000..d10e23727 --- /dev/null +++ b/src/lib/environment_info.cc @@ -0,0 +1,127 @@ +/* + Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> + + 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 "log.h" +#include "compose.hpp" +#include "version.h" +#include "cross.h" +#include <dcp/version.h> +#include <openjpeg.h> +#include <libssh/libssh.h> +#ifdef DCPOMATIC_IMAGE_MAGICK +#include <magick/MagickCore.h> +#else +#include <magick/common.h> +#include <magick/magick_config.h> +#endif +#include <magick/version.h> +extern "C" { +#include <libavcodec/avcodec.h> +#include <libavformat/avformat.h> +#include <libswscale/swscale.h> +#include <libavfilter/avfiltergraph.h> +#include <libavutil/pixfmt.h> +} +#include <boost/thread.hpp> + +#include "i18n.h" + +#define LOG_GENERAL(...) log->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL); +#define LOG_GENERAL_NC(...) log->log (__VA_ARGS__, Log::TYPE_GENERAL); + +using std::string; +using std::list; +using std::pair; +using boost::shared_ptr; + +/** @param v Version as used by FFmpeg. + * @return A string representation of v. + */ +static +string +ffmpeg_version_to_string (int v) +{ + SafeStringStream s; + s << ((v & 0xff0000) >> 16) << N_(".") << ((v & 0xff00) >> 8) << N_(".") << (v & 0xff); + return s.str (); +} + + +/** Return a user-readable string summarising the versions of our dependencies */ +static +string +dependency_version_summary () +{ + SafeStringStream s; + s << N_("libopenjpeg ") << opj_version () << N_(", ") + << N_("libavcodec ") << ffmpeg_version_to_string (avcodec_version()) << N_(", ") + << N_("libavfilter ") << ffmpeg_version_to_string (avfilter_version()) << N_(", ") + << N_("libavformat ") << ffmpeg_version_to_string (avformat_version()) << N_(", ") + << N_("libavutil ") << ffmpeg_version_to_string (avutil_version()) << N_(", ") + << N_("libswscale ") << ffmpeg_version_to_string (swscale_version()) << N_(", ") + << MagickVersion << N_(", ") + << N_("libssh ") << ssh_version (0) << N_(", ") + << N_("libdcp ") << dcp::version << N_(" git ") << dcp::git_commit; + + return s.str (); +} + +void +environment_info (shared_ptr<Log> log) +{ + LOG_GENERAL ("DCP-o-matic %1 git %2 using %3", dcpomatic_version, dcpomatic_git_commit, dependency_version_summary()); + + { + char buffer[128]; + gethostname (buffer, sizeof (buffer)); + LOG_GENERAL ("Host name %1", buffer); + } + +#ifdef DCPOMATIC_DEBUG + LOG_GENERAL_NC ("DCP-o-matic built in debug mode."); +#else + LOG_GENERAL_NC ("DCP-o-matic built in optimised mode."); +#endif +#ifdef LIBDCP_DEBUG + LOG_GENERAL_NC ("libdcp built in debug mode."); +#else + LOG_GENERAL_NC ("libdcp built in optimised mode."); +#endif + +#ifdef DCPOMATIC_WINDOWS + OSVERSIONINFO info; + info.dwOSVersionInfoSize = sizeof (info); + GetVersionEx (&info); + LOG_GENERAL ("Windows version %1.%2.%3 SP %4", info.dwMajorVersion, info.dwMinorVersion, info.dwBuildNumber, info.szCSDVersion); +#endif + +#if __GNUC__ +#if __x86_64__ + LOG_GENERAL_NC ("Built for 64-bit"); +#else + LOG_GENERAL_NC ("Built for 32-bit"); +#endif +#endif + + LOG_GENERAL ("CPU: %1, %2 processors", cpu_info(), boost::thread::hardware_concurrency ()); + list<pair<string, string> > const m = mount_info (); + for (list<pair<string, string> >::const_iterator i = m.begin(); i != m.end(); ++i) { + LOG_GENERAL ("Mount: %1 %2", i->first, i->second); + } +} diff --git a/src/lib/environment_info.h b/src/lib/environment_info.h new file mode 100644 index 000000000..7cd541bfc --- /dev/null +++ b/src/lib/environment_info.h @@ -0,0 +1,20 @@ +/* + Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> + + 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. + +*/ + +extern void environment_info (boost::shared_ptr<Log> log); diff --git a/src/lib/film.cc b/src/lib/film.cc index e19d98df0..c695a7d4b 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -33,7 +33,6 @@ #include "examine_content_job.h" #include "scaler.h" #include "config.h" -#include "version.h" #include "ui_signaller.h" #include "playlist.h" #include "player.h" @@ -42,6 +41,7 @@ #include "cross.h" #include "cinema.h" #include "safe_stringstream.h" +#include "environment_info.h" #include <libcxml/cxml.h> #include <dcp/cpl.h> #include <dcp/signer.h> @@ -277,13 +277,7 @@ Film::make_dcp () throw BadSettingError (_("name"), _("cannot contain slashes")); } - LOG_GENERAL ("DCP-o-matic %1 git %2 using %3", dcpomatic_version, dcpomatic_git_commit, dependency_version_summary()); - - { - char buffer[128]; - gethostname (buffer, sizeof (buffer)); - LOG_GENERAL ("Starting to make DCP on %1", buffer); - } + environment_info (log ()); ContentList cl = content (); for (ContentList::const_iterator i = cl.begin(); i != cl.end(); ++i) { @@ -292,37 +286,6 @@ Film::make_dcp () LOG_GENERAL ("DCP video rate %1 fps", video_frame_rate()); LOG_GENERAL ("%1 threads", Config::instance()->num_local_encoding_threads()); LOG_GENERAL ("J2K bandwidth %1", j2k_bandwidth()); -#ifdef DCPOMATIC_DEBUG - LOG_GENERAL_NC ("DCP-o-matic built in debug mode."); -#else - LOG_GENERAL_NC ("DCP-o-matic built in optimised mode."); -#endif -#ifdef LIBDCP_DEBUG - LOG_GENERAL_NC ("libdcp built in debug mode."); -#else - LOG_GENERAL_NC ("libdcp built in optimised mode."); -#endif - -#ifdef DCPOMATIC_WINDOWS - OSVERSIONINFO info; - info.dwOSVersionInfoSize = sizeof (info); - GetVersionEx (&info); - LOG_GENERAL ("Windows version %1.%2.%3 SP %4", info.dwMajorVersion, info.dwMinorVersion, info.dwBuildNumber, info.szCSDVersion); -#endif - -#if __GNUC__ -#if __x86_64__ - LOG_GENERAL_NC ("Built for 64-bit"); -#else - LOG_GENERAL_NC ("Built for 32-bit"); -#endif -#endif - - LOG_GENERAL ("CPU: %1, %2 processors", cpu_info(), boost::thread::hardware_concurrency ()); - list<pair<string, string> > const m = mount_info (); - for (list<pair<string, string> >::const_iterator i = m.begin(); i != m.end(); ++i) { - LOG_GENERAL ("Mount: %1 %2", i->first, i->second); - } if (container() == 0) { throw MissingSettingError (_("container")); diff --git a/src/lib/util.cc b/src/lib/util.cc index c298a1946..6bb16c442 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -36,28 +36,11 @@ #include "md5_digester.h" #include "audio_processor.h" #include "safe_stringstream.h" -#include <dcp/version.h> #include <dcp/util.h> #include <dcp/signer.h> #include <dcp/raw_convert.h> -extern "C" { -#include <libavcodec/avcodec.h> -#include <libavformat/avformat.h> -#include <libswscale/swscale.h> -#include <libavfilter/avfiltergraph.h> -#include <libavutil/pixfmt.h> -} #include <glib.h> -#include <openjpeg.h> #include <pangomm/init.h> -#ifdef DCPOMATIC_IMAGE_MAGICK -#include <magick/MagickCore.h> -#else -#include <magick/common.h> -#include <magick/magick_config.h> -#endif -#include <magick/version.h> -#include <libssh/libssh.h> #include <boost/algorithm/string.hpp> #include <boost/bind.hpp> #include <boost/lambda/lambda.hpp> @@ -187,17 +170,6 @@ seconds_to_approximate_hms (int s) return ap.str (); } -/** @param v Version as used by FFmpeg. - * @return A string representation of v. - */ -static string -ffmpeg_version_to_string (int v) -{ - SafeStringStream s; - s << ((v & 0xff0000) >> 16) << N_(".") << ((v & 0xff00) >> 8) << N_(".") << (v & 0xff); - return s.str (); -} - double seconds (struct timeval t) { @@ -592,24 +564,6 @@ wrapped_av_malloc (size_t s) return p; } -/** Return a user-readable string summarising the versions of our dependencies */ -string -dependency_version_summary () -{ - SafeStringStream s; - s << N_("libopenjpeg ") << opj_version () << N_(", ") - << N_("libavcodec ") << ffmpeg_version_to_string (avcodec_version()) << N_(", ") - << N_("libavfilter ") << ffmpeg_version_to_string (avfilter_version()) << N_(", ") - << N_("libavformat ") << ffmpeg_version_to_string (avformat_version()) << N_(", ") - << N_("libavutil ") << ffmpeg_version_to_string (avutil_version()) << N_(", ") - << N_("libswscale ") << ffmpeg_version_to_string (swscale_version()) << N_(", ") - << MagickVersion << N_(", ") - << N_("libssh ") << ssh_version (0) << N_(", ") - << N_("libdcp ") << dcp::version << N_(" git ") << dcp::git_commit; - - return s.str (); -} - ContentTimePeriod subtitle_period (AVSubtitle const & sub) { diff --git a/src/lib/util.h b/src/lib/util.h index c17dbf05b..bfb39fc1d 100644 --- a/src/lib/util.h +++ b/src/lib/util.h @@ -56,7 +56,6 @@ struct AVSubtitle; extern std::string seconds_to_hms (int); extern std::string seconds_to_approximate_hms (int); -extern std::string dependency_version_summary (); extern double seconds (struct timeval); extern void dcpomatic_setup (); extern void dcpomatic_setup_gettext_i18n (std::string); diff --git a/src/lib/wscript b/src/lib/wscript index bad426258..322f87792 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -31,6 +31,7 @@ sources = """ dolby_cp750.cc encoder.cc encoded_data.cc + environment_info.cc examine_content_job.cc exceptions.cc file_group.cc |
