Commit 17321663 authored by Max Kellermann's avatar Max Kellermann

OutputThread: handle failing ReplayGainFilter::Open()

Since opening the PcmVolume object can now fail, this case must be handled.
parent 8edde7a4
......@@ -96,10 +96,16 @@ ao_filter_open(struct audio_output *ao, AudioFormat &format,
assert(format.IsValid());
/* the replay_gain filter cannot fail here */
if (ao->replay_gain_filter != nullptr)
ao->replay_gain_filter->Open(format, error_r);
if (ao->other_replay_gain_filter != nullptr)
ao->other_replay_gain_filter->Open(format, error_r);
if (ao->replay_gain_filter != nullptr &&
!ao->replay_gain_filter->Open(format, error_r).IsDefined())
return AudioFormat::Undefined();
if (ao->other_replay_gain_filter != nullptr &&
!ao->other_replay_gain_filter->Open(format, error_r).IsDefined()) {
if (ao->replay_gain_filter != nullptr)
ao->replay_gain_filter->Close();
return AudioFormat::Undefined();
}
const AudioFormat af = ao->filter->Open(format, error_r);
if (!af.IsDefined()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment