diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-06-11 09:19:09 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-06-11 09:19:09 +0100 |
| commit | fc47a8d1e5b97214358b8cb828b4503ecab949ac (patch) | |
| tree | 6b37b4692578111ee017055a54dc32b9ff551f9a /src/lib | |
| parent | f0cc79a6c34b8198155f6e519d4464385ea30049 (diff) | |
Don't specify internal aspect ratio in the ISDCF name for trailers, as per
http://digitalcinemanamingconvention.com/appendix_7.asp
Reported-by: Ivan Pullman
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/film.cc | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc index fd3e78c35..5b709ab1c 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -557,17 +557,20 @@ Film::isdcf_name (bool if_created_now) const and uses the first bit of content only. */ - ContentList cl = content (); - Ratio const * content_ratio = 0; - for (ContentList::const_iterator i = cl.begin(); i != cl.end(); ++i) { - shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (*i); - if (vc && (content_ratio == 0 || vc->scale().ratio() != content_ratio)) { - content_ratio = vc->scale().ratio(); + /* The standard says we don't do this for trailers, for some strange reason */ + if (dcp_content_type() && dcp_content_type()->libdcp_kind() != libdcp::TRAILER) { + ContentList cl = content (); + Ratio const * content_ratio = 0; + for (ContentList::const_iterator i = cl.begin(); i != cl.end(); ++i) { + shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (*i); + if (vc && (content_ratio == 0 || vc->scale().ratio() != content_ratio)) { + content_ratio = vc->scale().ratio(); + } + } + + if (content_ratio && content_ratio != container()) { + d << "-" << content_ratio->isdcf_name(); } - } - - if (content_ratio && content_ratio != container()) { - d << "-" << content_ratio->isdcf_name(); } if (!dm.audio_language.empty ()) { |
