Accept invalid picture frame size errors in high bitrate checks.
[dcpomatic.git] / src / tools / dcpomatic_cli.cc
index 18ffcee903c96531ffe37d31b35af36257d5c004..dae904eb44335199a54fdcfb081a46c9bbd445ee 100644 (file)
@@ -30,6 +30,7 @@
 #include "lib/job_manager.h"
 #include "lib/json_server.h"
 #include "lib/log.h"
+#include "lib/make_dcp.h"
 #include "lib/ratio.h"
 #include "lib/signal_manager.h"
 #include "lib/transcode_job.h"
@@ -300,19 +301,18 @@ main (int argc, char* argv[])
        }
 
        if (servers) {
-               auto f = fopen_boost (*servers, "r");
+               dcp::File f(*servers, "r");
                if (!f) {
                        cerr << "Could not open servers list file " << *servers << "\n";
                        exit (EXIT_FAILURE);
                }
                vector<string> servers;
-               while (!feof (f)) {
+               while (!f.eof()) {
                        char buffer[128];
-                       if (fscanf (f, "%s.127", buffer) == 1) {
+                       if (fscanf(f.get(), "%s.127", buffer) == 1) {
                                servers.push_back (buffer);
                        }
                }
-               fclose (f);
                Config::instance()->set_servers (servers);
        }
 
@@ -393,7 +393,7 @@ main (int argc, char* argv[])
                }
        }
 
-       TranscodeJob::ChangedBehaviour behaviour = check ? TranscodeJob::ChangedBehaviour::STOP : TranscodeJob::ChangedBehaviour::IGNORE;
+       TranscodeJob::ChangedBehaviour const behaviour = check ? TranscodeJob::ChangedBehaviour::STOP : TranscodeJob::ChangedBehaviour::IGNORE;
 
        if (export_format) {
                auto job = std::make_shared<TranscodeJob>(film, behaviour);
@@ -405,13 +405,14 @@ main (int argc, char* argv[])
                JobManager::instance()->add (job);
        } else {
                try {
-                       film->make_dcp (behaviour);
+                       make_dcp (film, behaviour);
                } catch (runtime_error& e) {
                        std::cerr << "Could not make DCP: " << e.what() << "\n";
                        exit(EXIT_FAILURE);
                }
        }
 
+       make_dcp (film, behaviour);
        bool const error = show_jobs_on_console (progress);
 
        if (keep_going) {