diff options
Diffstat (limited to 'src/lib/dcp_decoder.cc')
| -rw-r--r-- | src/lib/dcp_decoder.cc | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc index c1c7780bb..2ffe11065 100644 --- a/src/lib/dcp_decoder.cc +++ b/src/lib/dcp_decoder.cc @@ -259,30 +259,28 @@ DCPDecoder::seek (ContentTime t, bool accurate) _offset = 0; get_readers (); - if (accurate) { - int const pre_roll_seconds = 2; + int const pre_roll_seconds = 2; - /* Pre-roll for subs */ + /* Pre-roll for subs */ - ContentTime pre = t - ContentTime::from_seconds (pre_roll_seconds); - if (pre < ContentTime()) { - pre = ContentTime (); - } + ContentTime pre = t - ContentTime::from_seconds (pre_roll_seconds); + if (pre < ContentTime()) { + pre = ContentTime (); + } - /* Seek to pre-roll position */ + /* Seek to pre-roll position */ - while (_reel != _reels.end() && pre >= ContentTime::from_frames ((*_reel)->main_picture()->duration(), _dcp_content->active_video_frame_rate ())) { - pre -= ContentTime::from_frames ((*_reel)->main_picture()->duration(), _dcp_content->active_video_frame_rate ()); - next_reel (); - } + while (_reel != _reels.end() && pre >= ContentTime::from_frames ((*_reel)->main_picture()->duration(), _dcp_content->active_video_frame_rate ())) { + pre -= ContentTime::from_frames ((*_reel)->main_picture()->duration(), _dcp_content->active_video_frame_rate ()); + next_reel (); + } - /* Pass subtitles in the pre-roll */ + /* Pass subtitles in the pre-roll */ - double const vfr = _dcp_content->active_video_frame_rate (); - for (int i = 0; i < pre_roll_seconds * vfr; ++i) { - pass_subtitles (pre); - pre += ContentTime::from_frames (1, vfr); - } + double const vfr = _dcp_content->active_video_frame_rate (); + for (int i = 0; i < pre_roll_seconds * vfr; ++i) { + pass_subtitles (pre); + pre += ContentTime::from_frames (1, vfr); } /* Seek to correct position */ |
