From b1dc9c3a2f7e55c9afc5bf2d5b465371b048e14f Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 10 Aug 2016 16:38:33 +0100 Subject: Remove all use of stringstream in an attempt to fix the suspected thread-unsafe crash bugs on OS X. --- src/lib/transcode_job.cc | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/lib/transcode_job.cc') diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index 8e5660330..4eb2b1d29 100644 --- a/src/lib/transcode_job.cc +++ b/src/lib/transcode_job.cc @@ -28,7 +28,6 @@ #include "film.h" #include "transcoder.h" #include "log.h" -#include #include "compose.hpp" #include #include @@ -112,18 +111,21 @@ TranscodeJob::status () const return Job::status (); } - locked_stringstream s; - - s << Job::status (); - - if (!finished () && !_transcoder->finishing ()) { + char buffer[256]; + if (finished() || _transcoder->finishing()) { + strncpy (buffer, Job::status().c_str(), 256); + } else { /// TRANSLATORS: fps here is an abbreviation for frames per second - s << "; " << _transcoder->video_frames_enqueued() << "/" - << _film->length().frames_round (_film->video_frame_rate ()) << " " << _("frames") << "; " - << fixed << setprecision (1) << fps << " " << _("fps"); + snprintf ( + buffer, sizeof(buffer), "%s; %d/%" PRId64 " frames; %.1f fps", + Job::status().c_str(), + _transcoder->video_frames_enqueued(), + _film->length().frames_round (_film->video_frame_rate ()), + fps + ); } - return s.str (); + return buffer; } /** @return Approximate remaining time in seconds */ -- cgit v1.2.3