core: make sure soft mute status stays in sync with hw mute status

This should close rhbz #494851, mandriva bz #51234.

Probably the same as our own #572, launchpad #352732.
This commit is contained in:
Lennart Poettering 2009-06-08 00:02:15 +02:00
parent ab5adce7a0
commit 587fc2ab1c
4 changed files with 12 additions and 4 deletions

View file

@ -768,8 +768,12 @@ pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_MUTE, NULL, 0, NULL) == 0);
if (old_muted != s->muted)
if (old_muted != s->muted) {
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
/* Make sure the soft mute status stays in sync */
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_MUTE, NULL, 0, NULL) == 0);
}
}
return s->muted;