Fix loading very (very) old metadata files.
authorCarl Hetherington <cth@carlh.net>
Mon, 30 Nov 2020 20:39:53 +0000 (21:39 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 30 Nov 2020 20:39:53 +0000 (21:39 +0100)
src/lib/film.cc

index 4b82f1d8b37122fb1d7e098ad37d5d054b41c07c..5b8acbae9bb17868fa0baa64d40b2f504f085749 100644 (file)
@@ -702,15 +702,17 @@ Film::read_metadata (optional<boost::filesystem::path> path)
                }
        }
 
-       optional<string> isdcf_language = f.node_child("ISDCFMetadata")->optional_string_child("SubtitleLanguage");
-       if (isdcf_language && !found_language) {
-               try {
-                       found_language = dcp::LanguageTag(*isdcf_language);
-               } catch (...) {
+       if (_state_version >= 9) {
+               optional<string> isdcf_language = f.node_child("ISDCFMetadata")->optional_string_child("SubtitleLanguage");
+               if (isdcf_language && !found_language) {
                        try {
-                               found_language = dcp::LanguageTag(boost::algorithm::to_lower_copy(*isdcf_language));
+                               found_language = dcp::LanguageTag(*isdcf_language);
                        } catch (...) {
+                               try {
+                                       found_language = dcp::LanguageTag(boost::algorithm::to_lower_copy(*isdcf_language));
+                               } catch (...) {
 
+                               }
                        }
                }
        }