From: Tanu Kaskinen Date: Tue, 15 Apr 2014 07:59:03 +0000 (+0300) Subject: sink-input, source-output: Fix mute saving X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/cd2db42a6a462c4ad2441984466874a85fec9fbc sink-input, source-output: Fix mute saving "i->save_muted = i->save_muted || mute" makes no sense. The intention was most likely to use "save" instead of "mute" in the assignment. This line originates from reverting the volume ramping code, commit 8401572fd534f10e07ed6a418e1399b1294d5596. The idea of "i->save_muted |= save" is that even if the mute state doesn't change, save_muted should still be updated, but only if the transition is from "don't save" to "save". Changing "!i->muted == !mute" to "mute == i->muted" is cosmetic only. The rationale behind the old form was probably that when we still had pa_bool_t, booleans could in theory be defined as int, so comparing the values without the ! operator was not entirely safe. That's unnecessary now that we use the standard bool type, which can only have values 0 or 1. --- diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index b9264419..4d685c36 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -1410,8 +1410,8 @@ void pa_sink_input_set_mute(pa_sink_input *i, bool mute, bool save) { pa_assert_ctl_context(); pa_assert(PA_SINK_INPUT_IS_LINKED(i->state)); - if (!i->muted == !mute) { - i->save_muted = i->save_muted || mute; + if (mute == i->muted) { + i->save_muted |= save; return; } diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 4e4b7e98..34a4cb02 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -1061,8 +1061,8 @@ void pa_source_output_set_mute(pa_source_output *o, bool mute, bool save) { pa_assert_ctl_context(); pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state)); - if (!o->muted == !mute) { - o->save_muted = o->save_muted || mute; + if (mute == o->muted) { + o->save_muted |= save; return; }