sbc: Add sbc_reinit_msbc

This adds a new API function sbc_reinit_msbc. Like sbc_reinit or
sbc_reinit_a2dp but for msbc.
diff --git a/Makefile.am b/Makefile.am
index 7ff0c7d..8a58b59 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,9 +6,9 @@
 # Interfaces added:		CURRENT++ REVISION=0 AGE++
 # Interfaces removed:		CURRENT++ REVISION=0 AGE=0
 
-SBC_CURRENT = 3
-SBC_REVISION = 2
-SBC_AGE = 2
+SBC_CURRENT = 4
+SBC_REVISION = 0
+SBC_AGE = 3
 
 sbc_headers = sbc/sbc.h
 
diff --git a/sbc/sbc.c b/sbc/sbc.c
index edbe332..d059906 100644
--- a/sbc/sbc.c
+++ b/sbc/sbc.c
@@ -1087,6 +1087,24 @@
 	return 0;
 }
 
+SBC_EXPORT int sbc_reinit_msbc(sbc_t *sbc, unsigned long flags)
+{
+	int err;
+
+	err = sbc_reinit(sbc, flags);
+	if (err < 0)
+		return err;
+
+	sbc->frequency = SBC_FREQ_16000;
+	sbc->blocks = MSBC_BLOCKS;
+	sbc->subbands = SBC_SB_8;
+	sbc->mode = SBC_MODE_MONO;
+	sbc->allocation = SBC_AM_LOUDNESS;
+	sbc->bitpool = 26;
+
+	return 0;
+}
+
 static int sbc_set_a2dp(sbc_t *sbc, unsigned long flags,
 					const void *conf, size_t conf_len)
 {
diff --git a/sbc/sbc.h b/sbc/sbc.h
index 835460a..65d5ef3 100644
--- a/sbc/sbc.h
+++ b/sbc/sbc.h
@@ -85,6 +85,7 @@
 int sbc_init(sbc_t *sbc, unsigned long flags);
 int sbc_reinit(sbc_t *sbc, unsigned long flags);
 int sbc_init_msbc(sbc_t *sbc, unsigned long flags);
+int sbc_reinit_msbc(sbc_t *sbc, unsigned long flags);
 int sbc_init_a2dp(sbc_t *sbc, unsigned long flags,
 					const void *conf, size_t conf_len);
 int sbc_reinit_a2dp(sbc_t *sbc, unsigned long flags,
diff --git a/sbc/sbc.sym b/sbc/sbc.sym
index c1f6919..938301a 100644
--- a/sbc/sbc.sym
+++ b/sbc/sbc.sym
@@ -26,3 +26,8 @@
 	sbc_init_a2dp;
 	sbc_reinit_a2dp;
 } SBC_1.1;
+
+SBC_1.3 {
+global:
+	sbc_reinit_msbc;
+} SBC_1.2;