aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer_control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mixer_control.c')
-rw-r--r--src/mixer_control.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mixer_control.c b/src/mixer_control.c
index df1e43003..7def51cb2 100644
--- a/src/mixer_control.c
+++ b/src/mixer_control.c
@@ -66,6 +66,8 @@ mixer_open(struct mixer *mixer, GError **error_r)
if (mixer->open)
success = true;
+ else if (mixer->plugin->open == NULL)
+ success = mixer->open = true;
else
success = mixer->open = mixer->plugin->open(mixer, error_r);
@@ -83,7 +85,9 @@ mixer_close_internal(struct mixer *mixer)
assert(mixer->plugin != NULL);
assert(mixer->open);
- mixer->plugin->close(mixer);
+ if (mixer->plugin->close != NULL)
+ mixer->plugin->close(mixer);
+
mixer->open = false;
}