Fix crash.
authorCarl Hetherington <cth@carlh.net>
Wed, 11 May 2016 01:12:12 +0000 (02:12 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 18 May 2016 10:50:29 +0000 (11:50 +0100)
src/lib/ffmpeg_content.cc

index 8bcc0986d0eb7f89bbed9cc83adfcdfcaa537aa3..628c47b350c8f14303b7af47de430774c4c12a1f 100644 (file)
@@ -159,6 +159,12 @@ FFmpegContent::as_xml (xmlpp::Node* node) const
 
        if (audio) {
                audio->as_xml (node);
+
+               BOOST_FOREACH (AudioStreamPtr i, audio->streams ()) {
+                       shared_ptr<FFmpegAudioStream> f = dynamic_pointer_cast<FFmpegAudioStream> (i);
+                       DCPOMATIC_ASSERT (f);
+                       f->as_xml (node->add_child("AudioStream"));
+               }
        }
 
        if (subtitle) {
@@ -175,12 +181,6 @@ FFmpegContent::as_xml (xmlpp::Node* node) const
                (*i)->as_xml (t);
        }
 
-       BOOST_FOREACH (AudioStreamPtr i, audio->streams ()) {
-               shared_ptr<FFmpegAudioStream> f = dynamic_pointer_cast<FFmpegAudioStream> (i);
-               DCPOMATIC_ASSERT (f);
-               f->as_xml (node->add_child("AudioStream"));
-       }
-
        for (vector<Filter const *>::const_iterator i = _filters.begin(); i != _filters.end(); ++i) {
                node->add_child("Filter")->add_child_text ((*i)->id ());
        }