Handle vertical alignment of subs correctly wrt the difference between Interop and...
[dcpomatic.git] / src / lib / dcp_subtitle_decoder.cc
index 08c2bf7ec3642a86f687d9d4d24e6f7cbeaa663c..cbfe6fdbe29866302a1ee7218e55c4f4d1ed253b 100644 (file)
@@ -46,6 +46,12 @@ DCPSubtitleDecoder::DCPSubtitleDecoder (shared_ptr<const Film> film, shared_ptr<
        _subtitles = asset->subtitles ();
        _next = _subtitles.begin ();
 
+       if (dynamic_pointer_cast<dcp::InteropSubtitleAsset>(asset)) {
+               _standard = dcp::Standard::INTEROP;
+       } else {
+               _standard = dcp::Standard::SMPTE;
+       }
+
        text.push_back (make_shared<TextDecoder>(this, content->only_text()));
        update_position();
 }
@@ -102,7 +108,7 @@ DCPSubtitleDecoder::pass ()
                }
        }
 
-       only_text()->emit_plain (p, s);
+       only_text()->emit_plain(p, s, _standard);
 
        update_position();