diff -ur libcanberra-0.29.orig/src/driver-order.c libcanberra-0.29/src/driver-order.c --- libcanberra-0.29.orig/src/driver-order.c 2010-02-20 00:39:40.000000000 +0100 +++ libcanberra-0.29/src/driver-order.c 2012-07-02 20:24:41.772434356 +0200 @@ -30,6 +30,7 @@ #include "driver-order.h" const char* const ca_driver_order[] = { + "multi", #ifdef HAVE_PULSE "pulse", #endif diff -ur libcanberra-0.29.orig/src/multi.c libcanberra-0.29/src/multi.c --- libcanberra-0.29.orig/src/multi.c 2010-02-20 00:39:40.000000000 +0100 +++ libcanberra-0.29/src/multi.c 2012-07-02 20:53:54.783826407 +0200 @@ -107,8 +107,6 @@ int ret = CA_SUCCESS; ca_return_val_if_fail(c, CA_ERROR_INVALID); - ca_return_val_if_fail(c->driver, CA_ERROR_NODRIVER); - ca_return_val_if_fail(!strncmp(c->driver, "multi", 5), CA_ERROR_NODRIVER); ca_return_val_if_fail(!PRIVATE(c), CA_ERROR_STATE); if (!(c->private = p = ca_new0(struct private, 1)))