X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_decoder.cc;h=19831185d16203834393335716420998b4a64e84;hb=aa382124eeabcad7a7346d46fb5f931c1364a849;hp=826b4e8d387ba44d709cb77bff36fe40bda318c5;hpb=0486d4d94900c7f2a2cab7885b3f162d1ad8290c;p=dcpomatic.git diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc index 826b4e8d3..19831185d 100644 --- a/src/lib/dcp_decoder.cc +++ b/src/lib/dcp_decoder.cc @@ -29,6 +29,7 @@ #include "image.h" #include "config.h" #include "digester.h" +#include "frame_interval_checker.h" #include #include #include @@ -125,7 +126,14 @@ DCPDecoder::DCPDecoder (shared_ptr film, shared_ptrcan_be_played ()) { + if (!_dcp_content->can_be_played()) { + return true; + } + + if (_reel == _reels.end()) { + if (audio) { + audio->flush (); + } return true; } @@ -450,3 +458,9 @@ DCPDecoder::calculate_lazy_digest (shared_ptr c) const } return d.get (); } + +ContentTime +DCPDecoder::position () const +{ + return ContentTime::from_frames(_offset, _dcp_content->active_video_frame_rate(film())) + _next; +}