summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-06-11 09:19:09 +0100
committerCarl Hetherington <cth@carlh.net>2014-06-11 09:19:09 +0100
commitfc47a8d1e5b97214358b8cb828b4503ecab949ac (patch)
tree6b37b4692578111ee017055a54dc32b9ff551f9a /src/lib
parentf0cc79a6c34b8198155f6e519d4464385ea30049 (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.cc23
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 ()) {