Fix undefined mapping values in causing audio analyses to fail to load randomly.
authorCarl Hetherington <cth@carlh.net>
Mon, 30 Nov 2015 11:52:17 +0000 (11:52 +0000)
committerCarl Hetherington <cth@carlh.net>
Mon, 30 Nov 2015 11:52:17 +0000 (11:52 +0000)
src/lib/audio_content.cc

index fc295aa0185556092d769110b07bfedbe36c1e86..6d9c85ca20201c2719931216b114428163abb9ad 100644 (file)
@@ -168,6 +168,7 @@ AudioContent::audio_mapping () const
        }
 
        AudioMapping merged (channels, MAX_DCP_AUDIO_CHANNELS);
+       merged.make_zero ();
 
        int c = 0;
        int s = 0;
@@ -175,7 +176,9 @@ AudioContent::audio_mapping () const
                AudioMapping mapping = i->mapping ();
                for (int j = 0; j < mapping.input_channels(); ++j) {
                        for (int k = 0; k < MAX_DCP_AUDIO_CHANNELS; ++k) {
-                               merged.set (c, k, mapping.get (j, k));
+                               if (k < mapping.output_channels()) {
+                                       merged.set (c, k, mapping.get (j, k));
+                               }
                        }
                        ++c;
                }