summaryrefslogtreecommitdiff
path: root/src/lib/sndfile_content.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-06-05 11:48:54 +0100
committerCarl Hetherington <cth@carlh.net>2014-06-05 11:48:54 +0100
commitb60186064405914b41780021f74dd7830f2ffecb (patch)
treee5a1f1522dc8c96c981e8c91f3338d60ec198f7a /src/lib/sndfile_content.cc
parent3f9891137747cd7434ce20f69b8d88b967dbdfaf (diff)
Back port active_frame_rate_change stuff from v2, removing specification of video frame rate for sndfile sources.
Diffstat (limited to 'src/lib/sndfile_content.cc')
-rw-r--r--src/lib/sndfile_content.cc22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/lib/sndfile_content.cc b/src/lib/sndfile_content.cc
index 6f18ebbb4..3efba6fd5 100644
--- a/src/lib/sndfile_content.cc
+++ b/src/lib/sndfile_content.cc
@@ -34,8 +34,6 @@ using std::cout;
using boost::shared_ptr;
using libdcp::raw_convert;
-int const SndfileContentProperty::VIDEO_FRAME_RATE = 600;
-
SndfileContent::SndfileContent (shared_ptr<const Film> f, boost::filesystem::path p)
: Content (f, p)
, AudioContent (f, p)
@@ -150,9 +148,10 @@ SndfileContent::full_length () const
shared_ptr<const Film> film = _film.lock ();
assert (film);
- float const rate = _video_frame_rate.get_value_or (film->video_frame_rate ());
+ FrameRateChange frc = film->active_frame_rate_change (position ());
+
OutputAudioFrame const len = divide_with_round (
- audio_length() * output_audio_frame_rate() * rate,
+ audio_length() * output_audio_frame_rate() * frc.source,
content_audio_frame_rate() * film->video_frame_rate()
);
@@ -169,18 +168,3 @@ SndfileContent::set_audio_mapping (AudioMapping m)
signal_changed (AudioContentProperty::AUDIO_MAPPING);
}
-
-float
-SndfileContent::video_frame_rate () const
-{
- {
- boost::mutex::scoped_lock lm (_mutex);
- if (_video_frame_rate) {
- return _video_frame_rate.get ();
- }
- }
-
- shared_ptr<const Film> film = _film.lock ();
- assert (film);
- return film->video_frame_rate ();
-}