X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fwriter.cc;h=60b2a47ab13b265fe1f5ca288ef576912db0ea12;hb=2d5b8cdde08044d323aa7193dfac6c9f8bca7131;hp=5386efd9d200b0cadd734ba7d643c876fe4fbbbb;hpb=d33a11798fc39336eb9442f11a06a9a1f2470d83;p=dcpomatic.git diff --git a/src/lib/writer.cc b/src/lib/writer.cc index 5386efd9d..60b2a47ab 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -36,13 +36,13 @@ #include "audio_mapping.h" #include "config.h" #include "job.h" +#include "cross.h" #include "i18n.h" using std::make_pair; using std::pair; using std::string; -using std::ifstream; using std::list; using std::cout; using boost::shared_ptr; @@ -68,6 +68,7 @@ Writer::Writer (shared_ptr f, weak_ptr j) boost::filesystem::remove_all (_film->dir (_film->dcp_name ())); shared_ptr job = _job.lock (); + assert (job); job->sub (_("Checking existing image data")); check_existing_picture_mxf (); @@ -140,8 +141,9 @@ Writer::fake_write (int frame, Eyes eyes) { boost::mutex::scoped_lock lock (_mutex); - ifstream ifi (_film->info_path (frame, eyes).string().c_str()); + FILE* ifi = fopen_boost (_film->info_path (frame, eyes), "r"); libdcp::FrameInfo info (ifi); + fclose (ifi); QueueItem qi; qi.type = QueueItem::FAKE; @@ -429,8 +431,14 @@ bool Writer::check_existing_picture_mxf_frame (FILE* mxf, int f, Eyes eyes) { /* Read the frame info as written */ - ifstream ifi (_film->info_path (f, eyes).string().c_str()); + FILE* ifi = fopen_boost (_film->info_path (f, eyes), "r"); + if (!ifi) { + _film->log()->log (String::compose ("Existing frame %1 has no info file", f)); + return false; + } + libdcp::FrameInfo info (ifi); + fclose (ifi); if (info.size == 0) { _film->log()->log (String::compose ("Existing frame %1 has no info file", f)); return false;