aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/MultipleOutputs.cxx
diff options
context:
space:
mode:
authorPete Beardmore <pete.beardmore@msn.com>2014-03-09 18:40:56 +0000
committerMax Kellermann <max@duempel.org>2014-03-14 20:27:21 +0100
commitd0cd98a63aa40ba16946148590d3cf0648a1dd19 (patch)
treef41be82e5140d52fd7288f72a1c8eeaac3e4e11f /src/output/MultipleOutputs.cxx
parent88eae9dabbb57ddc697dd64e33c145775d4bb663 (diff)
downloadmpd-d0cd98a63aa40ba16946148590d3cf0648a1dd19.tar.gz
mpd-d0cd98a63aa40ba16946148590d3cf0648a1dd19.tar.xz
mpd-d0cd98a63aa40ba16946148590d3cf0648a1dd19.zip
MultipleOutputs: ensure input_audio_format is zero-initialised
-fixes SIGABRT when mpd is started from a previously paused state -regression introduced by commit: f5a923b9d16e4c63942a033d1bdb2ab150aae342: 'OutputAll: convert to class, move instance to class Partition' -input_audio_format was previously declared using the static modifier ensuring it was zero-initialised by default -the current default-initialised input_audio_format contains garbage at runtime which allows the AudioFormat.IsDefined() 'fail fast' test in MultipleOutputs::Update to pass and the SIGABRT follows in AudioOutput::Open when passed the invalid input_audio_format struct -switching AudioFormat.IsDefined() for AudioFormat.IsValid() is an alternative workaround
Diffstat (limited to 'src/output/MultipleOutputs.cxx')
-rw-r--r--src/output/MultipleOutputs.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/output/MultipleOutputs.cxx b/src/output/MultipleOutputs.cxx
index 2791e7045..6cd2c9fa6 100644
--- a/src/output/MultipleOutputs.cxx
+++ b/src/output/MultipleOutputs.cxx
@@ -37,6 +37,7 @@
MultipleOutputs::MultipleOutputs(MixerListener &_mixer_listener)
:mixer_listener(_mixer_listener),
+ input_audio_format(AudioFormat::Undefined()),
buffer(nullptr), pipe(nullptr),
elapsed_time(-1)
{