summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-03-23 00:29:40 +0100
committerCarl Hetherington <cth@carlh.net>2023-03-23 16:51:38 +0100
commitf4fda1d705adfca0b7c8d3748c0c9df8e9da51bc (patch)
tree583d0b6170b6aed83ef8d9577307cd6655480143 /src/lib
parente7d8a70a16f972de2861bb1464dec6df3d26c579 (diff)
Fix crashes when using templates in some cases (#2491).
If a template had content with N audio channels there would be various problems if content with <N channels was subsequently added.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_content.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc
index 6a93ff119..7083de714 100644
--- a/src/lib/audio_content.cc
+++ b/src/lib/audio_content.cc
@@ -409,7 +409,9 @@ AudioContent::take_settings_from (shared_ptr<const AudioContent> c)
size_t j = 0;
while (i < _streams.size() && j < c->_streams.size()) {
- _streams[i]->set_mapping (c->_streams[j]->mapping());
+ auto mapping = _streams[i]->mapping();
+ mapping.take_from(c->_streams[j]->mapping());
+ _streams[i]->set_mapping(mapping);
++i;
++j;
}