summaryrefslogtreecommitdiff
path: root/src/lib/playlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/playlist.cc')
-rw-r--r--src/lib/playlist.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc
index b96b0fbe0..30045e2e4 100644
--- a/src/lib/playlist.cc
+++ b/src/lib/playlist.cc
@@ -625,20 +625,22 @@ Playlist::move_later (shared_ptr<const Film> film, shared_ptr<Content> c)
c->set_position (film, c->position() + next_c->length_after_trim(film));
}
-int64_t
+size_t
Playlist::required_disk_space (shared_ptr<const Film> film, int j2k_bandwidth, int audio_channels, int audio_frame_rate) const
{
- int64_t video = uint64_t (j2k_bandwidth / 8) * length(film).seconds();
- int64_t audio = uint64_t (audio_channels * audio_frame_rate * 3) * length(film).seconds();
+ size_t video = static_cast<size_t>(j2k_bandwidth / 8) * length(film).seconds();
+ size_t audio = static_cast<size_t>(audio_channels * audio_frame_rate * 3) * length(film).seconds();
BOOST_FOREACH (shared_ptr<Content> i, content()) {
shared_ptr<DCPContent> d = dynamic_pointer_cast<DCPContent> (i);
if (d) {
+ DCPTime const len = d->length_after_trim(film);
+ DCPOMATIC_ASSERT (len.get() >= 0);
if (d->reference_video()) {
- video -= uint64_t (j2k_bandwidth / 8) * d->length_after_trim(film).seconds();
+ video -= static_cast<size_t>(j2k_bandwidth / 8) * len.seconds();
}
if (d->reference_audio()) {
- audio -= uint64_t (audio_channels * audio_frame_rate * 3) * d->length_after_trim(film).seconds();
+ audio -= static_cast<size_t>(audio_channels * audio_frame_rate * 3) * len.seconds();
}
}
}