X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilm.cc;h=33cb304600cda8146deb44a6d1ada1e214925729;hb=cfdd68eb5fb0ef8423e860103ad4e5510994f1da;hp=79833b3669ab7a6c41e8e6d7b9c0c821f11af186;hpb=e6f28e7cda23c1ba3c49cc1bf2dc1491c2f87160;p=dcpomatic.git diff --git a/src/lib/film.cc b/src/lib/film.cc index 79833b366..33cb30460 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2014 Carl Hetherington 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 @@ -245,7 +245,12 @@ Film::make_dcp () if (dcp_name().find ("/") != string::npos) { throw BadSettingError (_("name"), _("cannot contain slashes")); } - + + /* It seems to make sense to auto-save metadata here, since the make DCP may last + a long time, and crashes/power failures are moderately likely. + */ + write_metadata (); + log()->log (String::compose ("DCP-o-matic %1 git %2 using %3", dcpomatic_version, dcpomatic_git_commit, dependency_version_summary())); { @@ -821,6 +826,10 @@ Film::content () const void Film::examine_and_add_content (shared_ptr c) { + if (dynamic_pointer_cast (c)) { + run_ffprobe (c->path(0), file ("ffprobe.log"), _log); + } + shared_ptr j (new ExamineContentJob (shared_from_this(), c)); j->Finished.connect (bind (&Film::maybe_add_content, this, boost::weak_ptr (j), boost::weak_ptr (c))); JobManager::instance()->add (j);