diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-11-23 01:15:37 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-11-23 01:15:37 +0000 |
| commit | 673ba43fb66eb0dee43807501753749f144254a7 (patch) | |
| tree | 1c337ccebdc2dc6f25d76d761252976814f34d57 /src/lib/ffmpeg_content.cc | |
| parent | e13e5cd4cfda39b0a0b77ed8036e14e15f93ec2e (diff) | |
Remove required Film from content examine.
Diffstat (limited to 'src/lib/ffmpeg_content.cc')
| -rw-r--r-- | src/lib/ffmpeg_content.cc | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index 919200679..f4e4beba9 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -307,7 +307,7 @@ FFmpegContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job) AudioStreamPtr as = audio->streams().front(); AudioMapping m = as->mapping (); - m.make_default (film->audio_processor(), first_path); + m.make_default (film ? film->audio_processor() : 0, first_path); as->set_mapping (m); } @@ -415,6 +415,23 @@ FFmpegContent::full_length (shared_ptr<const Film> film) const return longest; } +DCPTime +FFmpegContent::approximate_length () const +{ + if (video) { + return DCPTime::from_frames (video->length_after_3d_combine(), 24); + } + + DCPOMATIC_ASSERT (audio); + + Frame longest = 0; + BOOST_FOREACH (AudioStreamPtr i, audio->streams ()) { + longest = max (longest, Frame(llrint(i->length()))); + } + + return DCPTime::from_frames (longest, 24); +} + void FFmpegContent::set_filters (vector<Filter const *> const & filters) { |
