X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Freel_writer.cc;h=d707550bbf3599e1270d44c5dd55852b1d902760;hb=3828baf56467224f5d44049bf1e7a7ed11f43a05;hp=7ffc773a14b41ddea11e4d2d8b64de48279bcba9;hpb=9fe5ea488461355a779db1b6b56f93ef375bac41;p=dcpomatic.git diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index 7ffc773a1..d707550bb 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -1,19 +1,20 @@ /* Copyright (C) 2012-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ @@ -200,7 +201,7 @@ ReelWriter::check_existing_picture_asset () _first_nonexistant_frame = n; } - while (!existing_picture_frame_ok(asset_file, info_file, _first_nonexistant_frame) && _first_nonexistant_frame > 0) { + while (!existing_picture_frame_ok(asset_file, info_file) && _first_nonexistant_frame > 0) { --_first_nonexistant_frame; } @@ -211,12 +212,6 @@ ReelWriter::check_existing_picture_asset () ++_first_nonexistant_frame; } - for (int i = 0; i < _first_nonexistant_frame; ++i) { - if (!existing_picture_frame_ok(asset_file, info_file, i)) { - LOG_GENERAL ("Although %1 is not ok", i); - } - } - LOG_GENERAL ("Proceeding with first nonexistant frame %1", _first_nonexistant_frame); fclose (asset_file); @@ -478,14 +473,14 @@ ReelWriter::write (PlayerSubtitles subs) } bool -ReelWriter::existing_picture_frame_ok (FILE* asset_file, FILE* info_file, int frame) const +ReelWriter::existing_picture_frame_ok (FILE* asset_file, FILE* info_file) const { - LOG_GENERAL ("Checking existing picture frame %1", frame); + LOG_GENERAL ("Checking existing picture frame %1", _first_nonexistant_frame); /* Read the data from the info file; for 3D we just check the left frames until we find a good one. */ - dcp::FrameInfo const info = read_frame_info (info_file, frame, _film->three_d () ? EYES_LEFT : EYES_BOTH); + dcp::FrameInfo const info = read_frame_info (info_file, _first_nonexistant_frame, _film->three_d () ? EYES_LEFT : EYES_BOTH); bool ok = true; @@ -495,14 +490,14 @@ ReelWriter::existing_picture_frame_ok (FILE* asset_file, FILE* info_file, int fr size_t const read = fread (data.data().get(), 1, data.size(), asset_file); LOG_GENERAL ("Read %1 bytes of asset data; wanted %2", read, info.size); if (read != static_cast (data.size ())) { - LOG_GENERAL ("Existing frame %1 is incomplete", frame); + LOG_GENERAL ("Existing frame %1 is incomplete", _first_nonexistant_frame); ok = false; } else { MD5Digester digester; digester.add (data.data().get(), data.size()); LOG_GENERAL ("Hash %1 vs %2", digester.get(), info.hash); if (digester.get() != info.hash) { - LOG_GENERAL ("Existing frame %1 failed hash check", frame); + LOG_GENERAL ("Existing frame %1 failed hash check", _first_nonexistant_frame); ok = false; } }