Be more careful about allowing possibly-trouble-causing characters in DCP filenames.
[dcpomatic.git] / src / lib / writer.cc
index bb65c1f2b9b7584ab8b93ad854f5ee6ef1711c32..ccd6d74d1847aa3560a9fb1af04262942794fabb 100644 (file)
@@ -39,6 +39,7 @@
 #include <fstream>
 #include <cerrno>
 #include <iostream>
+#include <cfloat>
 
 #include "i18n.h"
 
@@ -378,6 +379,8 @@ try
 
                        DCPOMATIC_ASSERT (i != _queue.rend());
                        ++_pushed_to_disk;
+                       /* For the log message below */
+                       int const awaiting = _reels[_queue.front().reel].last_written_video_frame();
                        lock.unlock ();
 
                        /* i is valid here, even though we don't hold a lock on the mutex,
@@ -385,7 +388,7 @@ try
                           thread could erase the last item in the list.
                        */
 
-                       LOG_GENERAL ("Writer full; pushes %1 to disk", i->frame);
+                       LOG_GENERAL ("Writer full; pushes %1 to disk while awaiting %2", i->frame, awaiting);
 
                        i->encoded->write_via_temp (
                                _film->j2c_path (i->reel, i->frame, i->eyes, true),
@@ -493,6 +496,7 @@ Writer::finish ()
        }
 
        dcp::XMLMetadata meta;
+       meta.annotation_text = cpl->annotation_text ();
        meta.creator = Config::instance()->dcp_creator ();
        if (meta.creator.empty ()) {
                meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
@@ -632,7 +636,7 @@ Writer::set_digest_progress (Job* job, float progress)
        _digest_progresses[boost::this_thread::get_id()] = progress;
 
        boost::mutex::scoped_lock lm (_digest_progresses_mutex);
-       float min_progress = 0;
+       float min_progress = FLT_MAX;
        for (map<boost::thread::id, float>::const_iterator i = _digest_progresses.begin(); i != _digest_progresses.end(); ++i) {
                min_progress = min (min_progress, i->second);
        }