diff options
| author | Carl Hetherington <cth@carlh.net> | 2017-07-12 15:17:14 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2017-07-12 15:17:14 +0100 |
| commit | dbaeeb06e7bc4bb1667a5a17076a0723284ed66c (patch) | |
| tree | 8a9d2b1808f5d307a21843af60e0effa1facf5de /src | |
| parent | ca2d68979e14bb4fd1422e18eead956e2564a7f6 (diff) | |
Force video content to start on a frame boundary.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/content.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/content.cc b/src/lib/content.cc index 21b04c649..691d3a66a 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -190,6 +190,11 @@ Content::signal_changed (int p) void Content::set_position (DCPTime p) { + /* video content can modify its position */ + if (video) { + video->modify_position (p); + } + { boost::mutex::scoped_lock lm (_mutex); if (p == _position) { @@ -333,8 +338,10 @@ list<DCPTime> Content::reel_split_points () const { list<DCPTime> t; - /* XXX: this is questionable; perhaps the position itself should be forced to be on a frame boundary */ - t.push_back (position().ceil (film()->video_frame_rate())); + /* This is only called for video content and such content has its position forced + to start on a frame boundary. + */ + t.push_back (position()); return t; } |
