diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-03-25 22:58:50 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-03-25 22:58:50 +0100 |
| commit | 6a9cdf1f5ab9f7f7ecea865b2930bb4c385609c4 (patch) | |
| tree | 671f2655c54fbd9d7461bb9e55f96e065e9efd82 /src/lib | |
| parent | 5192d1ef54f579c9ad4c09db871fe75d7f410dda (diff) | |
Use XX as an audio language when there is no specified audio language (#1939).
Previously we would omit the audio and subtitle language parts of the
DCI name if there was no specified audio language. Sadly if we do
do that EasyDCP player 4.0.1 reports a warning (whose details you
can't see on the demo version).
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/film.cc | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc index 321a932d1..46074e2ad 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -904,41 +904,41 @@ Film::isdcf_name (bool if_created_now) const } } - if (!dm.audio_language.empty ()) { - d += "_" + dm.audio_language; + auto const audio_language = dm.audio_language.empty() ? "XX" : dm.audio_language; - /* I'm not clear on the precise details of the convention for CCAP labelling; - for now I'm just appending -CCAP if we have any closed captions. - */ + d += "_" + audio_language; - auto burnt_in = true; - auto ccap = false; - for (auto i: content()) { - for (auto j: i->text) { - if (j->type() == TextType::OPEN_SUBTITLE && j->use() && !j->burn()) { - burnt_in = false; - } else if (j->type() == TextType::CLOSED_CAPTION && j->use()) { - ccap = true; - } - } - } + /* I'm not clear on the precise details of the convention for CCAP labelling; + for now I'm just appending -CCAP if we have any closed captions. + */ - if (!_subtitle_languages.empty()) { - auto lang = _subtitle_languages.front().language().get_value_or("en").subtag(); - if (burnt_in) { - transform (lang.begin(), lang.end(), lang.begin(), ::tolower); - } else { - transform (lang.begin(), lang.end(), lang.begin(), ::toupper); + auto burnt_in = true; + auto ccap = false; + for (auto i: content()) { + for (auto j: i->text) { + if (j->type() == TextType::OPEN_SUBTITLE && j->use() && !j->burn()) { + burnt_in = false; + } else if (j->type() == TextType::CLOSED_CAPTION && j->use()) { + ccap = true; } + } + } - d += "-" + lang; - if (ccap) { - d += "-CCAP"; - } + if (!_subtitle_languages.empty()) { + auto lang = _subtitle_languages.front().language().get_value_or("en").subtag(); + if (burnt_in) { + transform (lang.begin(), lang.end(), lang.begin(), ::tolower); } else { - /* No subtitles */ - d += "-XX"; + transform (lang.begin(), lang.end(), lang.begin(), ::toupper); } + + d += "-" + lang; + if (ccap) { + d += "-CCAP"; + } + } else { + /* No subtitles */ + d += "-XX"; } if (!dm.territory.empty ()) { |
