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.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc
index e2135a60e..4e46fdbdf 100644
--- a/src/lib/playlist.cc
+++ b/src/lib/playlist.cc
@@ -303,13 +303,16 @@ Playlist::video_end () const
FrameRateChange
Playlist::active_frame_rate_change (DCPTime t, int dcp_video_frame_rate) const
{
- for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
+ for (ContentList::const_reverse_iterator i = _content.rbegin(); i != _content.rend(); ++i) {
shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (*i);
if (!vc) {
continue;
}
- if (vc->position() >= t && t < vc->end()) {
+ if (vc->position() <= t) {
+ /* This is the first piece of content (going backwards...) that starts before t,
+ so it's the active one.
+ */
return FrameRateChange (vc->video_frame_rate(), dcp_video_frame_rate);
}
}