Fix loading of some old metadata versions.
[dcpomatic.git] / src / lib / dcp_content.cc
index 44c7ce5784b2ec08a52a6be888d3f8abce6433e7..d866a6b86c69f03a9593d04b94d8ec1b2a5bca1c 100644 (file)
@@ -85,7 +85,10 @@ DCPContent::DCPContent (shared_ptr<const Film> film, cxml::ConstNodePtr node, in
                AudioStreamPtr (
                        new AudioStream (
                                node->number_child<int> ("AudioFrameRate"),
-                               node->number_child<Frame> ("AudioLength"),
+                               /* AudioLength was not present in some old metadata versions */
+                               node->optional_number_child<Frame>("AudioLength").get_value_or (
+                                       video->length() * node->number_child<int>("AudioFrameRate") / video_frame_rate().get()
+                                       ),
                                AudioMapping (node->node_child ("AudioMapping"), version)
                                )
                        )