X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_content.cc;h=02d7a9ff68cf9b85607f81f65d7251f5cef4cdb2;hb=refs%2Ftags%2Fv2.13.95;hp=fcadc91165ab12179b9e1987467fd912115d97fa;hpb=f67bc45820b4e56f90eecb97ba3b7762c119f9b5;p=dcpomatic.git diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index fcadc9116..02d7a9ff6 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -45,8 +45,6 @@ extern "C" { #include "i18n.h" -#define LOG_GENERAL(...) dcpomatic_log->log (String::compose (__VA_ARGS__), LogEntry::TYPE_GENERAL); - using std::string; using std::vector; using std::list; @@ -309,7 +307,7 @@ FFmpegContent::examine (shared_ptr film, shared_ptr job) AudioStreamPtr as = audio->streams().front(); AudioMapping m = as->mapping (); - film->make_audio_mapping_default (m, first_path); + m.make_default (film ? film->audio_processor() : 0, first_path); as->set_mapping (m); } @@ -417,6 +415,23 @@ FFmpegContent::full_length (shared_ptr 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 const & filters) { @@ -492,7 +507,7 @@ FFmpegContent::set_default_colour_conversion () void FFmpegContent::add_properties (shared_ptr film, list& p) const { - Content::add_properties (p); + Content::add_properties (film, p); if (video) { video->add_properties (p);