diff options
author | Pete Beardmore <pete.beardmore@msn.com> | 2014-03-09 18:40:56 +0000 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-03-14 20:27:21 +0100 |
commit | d0cd98a63aa40ba16946148590d3cf0648a1dd19 (patch) | |
tree | f41be82e5140d52fd7288f72a1c8eeaac3e4e11f | |
parent | 88eae9dabbb57ddc697dd64e33c145775d4bb663 (diff) | |
download | mpd-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
-rw-r--r-- | src/output/MultipleOutputs.cxx | 1 |
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) { |