summaryrefslogtreecommitdiff
path: root/src/lib/playlist.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-12-11 10:31:18 +0000
committerCarl Hetherington <cth@carlh.net>2013-12-11 10:31:18 +0000
commitea910e250a0fb3b0ad3ce0cf32dd27b24c17cd1d (patch)
tree32119d2a04532d3162c656df7c7e715b289c6e61 /src/lib/playlist.cc
parent3e5df964ada49e10a880a200c985cc309ccecb64 (diff)
Various work on better seeking (and seeking of audio).
Diffstat (limited to 'src/lib/playlist.cc')
-rw-r--r--src/lib/playlist.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc
index 37b290218..581235adc 100644
--- a/src/lib/playlist.cc
+++ b/src/lib/playlist.cc
@@ -292,6 +292,23 @@ Playlist::video_end () const
return end;
}
+FrameRateChange
+Playlist::active_frame_rate_change (Time t, int dcp_video_frame_rate) const
+{
+ for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
+ shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (*i);
+ if (!vc) {
+ break;
+ }
+
+ if (vc->position() >= t && t < vc->end()) {
+ return FrameRateChange (vc->video_frame_rate(), dcp_video_frame_rate);
+ }
+ }
+
+ return FrameRateChange (dcp_video_frame_rate, dcp_video_frame_rate);
+}
+
void
Playlist::set_sequence_video (bool s)
{