From ede828c910f546dfe8ca4b07b678e9a2806c6889 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 23 Oct 2009 09:15:51 +0200 Subject: mixer_control: allow methods "open" and "close" to be NULL It's possible to have a mixer implementation which does not explicitly need the methods open() and close(). --- src/mixer_control.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/mixer_control.c') 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; } -- cgit v1.2.3