summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-06-12 12:02:29 +0100
committerCarl Hetherington <cth@carlh.net>2015-06-12 12:02:29 +0100
commit0d65e6ab06f798ca905c0ae5c1d0203ac254377c (patch)
treee0886915a48374c8febc825cfc2c50cc20a2e606
parent26a4961cfb36a7dd47387122d1138468a5ce672a (diff)
Un-map non-selected audio streams when loading old files.
-rw-r--r--ChangeLog5
-rw-r--r--src/lib/ffmpeg_content.cc4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 11b48165d..e750f8260 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-12 c.hetherington <cth@carlh.net>
+
+ * Fix for every audio stream being mapped to the DCP when loading
+ old films.
+
2015-06-11 c.hetherington <cth@carlh.net>
* Fix massive slowdown of direct J2K->DCP encodes (#599).
diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc
index 9dc4afab9..608c8cdb7 100644
--- a/src/lib/ffmpeg_content.cc
+++ b/src/lib/ffmpeg_content.cc
@@ -79,6 +79,10 @@ FFmpegContent::FFmpegContent (shared_ptr<const Film> f, cxml::ConstNodePtr node,
c = node->node_children ("AudioStream");
for (list<cxml::NodePtr>::const_iterator i = c.begin(); i != c.end(); ++i) {
_audio_streams.push_back (shared_ptr<FFmpegAudioStream> (new FFmpegAudioStream (*i, version)));
+ if (version < 11 && !(*i)->optional_node_child ("Selected")) {
+ /* This is an old file and this stream is not selected, so un-map it */
+ _audio_streams.back()->set_mapping (AudioMapping (_audio_streams.back()->channels (), MAX_DCP_AUDIO_CHANNELS));
+ }
}
c = node->node_children ("Filter");