summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-12-10 11:52:07 +0000
committerCarl Hetherington <cth@carlh.net>2015-12-10 11:52:07 +0000
commit1ca0d61534209e4679cead26e0df1886704a3ef8 (patch)
tree3231cbac01fc0a46df83c74e42323a9118faff60 /src/lib
parent159ef7946644a4af72c51fc15511d250eb00c741 (diff)
Put ISDCF name subtitle language in lower case if subs are burnt in.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 8c12e7080..e066bfc50 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -596,7 +596,27 @@ Film::isdcf_name (bool if_created_now) const
if (!dm.audio_language.empty ()) {
d << "_" << dm.audio_language;
if (!dm.subtitle_language.empty()) {
- d << "-" << dm.subtitle_language;
+
+ bool burnt_in = false;
+ BOOST_FOREACH (shared_ptr<Content> i, content ()) {
+ shared_ptr<SubtitleContent> sc = dynamic_pointer_cast<SubtitleContent> (i);
+ if (!sc) {
+ continue;
+ }
+
+ if (sc->use_subtitles() && sc->burn_subtitles()) {
+ burnt_in = true;
+ }
+ }
+
+ string language = dm.subtitle_language;
+ if (burnt_in) {
+ transform (language.begin(), language.end(), language.begin(), ::tolower);
+ } else {
+ transform (language.begin(), language.end(), language.begin(), ::toupper);
+ }
+
+ d << "-" << language;
} else {
d << "-XX";
}