From 97675be04d4a87e00c99733ee7b904ccbe632994 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 7 Oct 2012 22:51:06 +0100 Subject: [PATCH] Fix up some bugs when using limited DCP range (reported by Wolfgang Woehl). --- ChangeLog | 5 +++++ src/lib/check_hashes_job.cc | 4 +++- src/lib/film_state.cc | 12 ++++++++++++ src/lib/film_state.h | 2 ++ src/lib/transcode_job.cc | 2 +- 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index d34b781b6..58876926e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-10-07 Carl Hetherington + + * Fix up some bugs when using limited DCP + range (reported by Wolfgang Woehl). + 2012-10-02 Carl Hetherington * Version 0.54 released. diff --git a/src/lib/check_hashes_job.cc b/src/lib/check_hashes_job.cc index cf269564a..f60a2d40d 100644 --- a/src/lib/check_hashes_job.cc +++ b/src/lib/check_hashes_job.cc @@ -48,8 +48,10 @@ void CheckHashesJob::run () { _bad = 0; + + int const N = _fs->dcp_length (); - for (int i = 0; i < _fs->length; ++i) { + for (int i = 0; i < N; ++i) { string const j2k_file = _opt->frame_out_path (i, false); string const hash_file = j2k_file + ".md5"; diff --git a/src/lib/film_state.cc b/src/lib/film_state.cc index d7d9a1462..3cd7091ca 100644 --- a/src/lib/film_state.cc +++ b/src/lib/film_state.cc @@ -299,3 +299,15 @@ FilmState::target_sample_rate () const return rint (t); } + +int +FilmState::dcp_length () const +{ + if (dcp_frames) { + return dcp_frames; + } + + return length; +} + + diff --git a/src/lib/film_state.h b/src/lib/film_state.h index 8dc0ce11b..16a1b0508 100644 --- a/src/lib/film_state.h +++ b/src/lib/film_state.h @@ -87,6 +87,8 @@ public: Size cropped_size (Size) const; + int dcp_length () const; + /** Complete path to directory containing the film metadata; must not be relative. */ diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index e79be09fe..e1ba82359 100644 --- a/src/lib/transcode_job.cc +++ b/src/lib/transcode_job.cc @@ -107,5 +107,5 @@ TranscodeJob::remaining_time () const return 0; } - return ((_fs->length - _encoder->last_frame()) / fps); + return ((_fs->dcp_length() - _encoder->last_frame()) / fps); } -- 2.30.2