diff mbox series

sbc: Add sbc_reinit_msbc

Message ID 20201123000157.13003-1-pali@kernel.org
State New
Headers show
Series sbc: Add sbc_reinit_msbc | expand

Commit Message

Pali Rohár Nov. 23, 2020, 12:01 a.m. UTC
This adds a new API function sbc_reinit_msbc. Like sbc_reinit or
sbc_reinit_a2dp but for msbc.
---
 Makefile.am |  6 +++---
 sbc/sbc.c   | 18 ++++++++++++++++++
 sbc/sbc.h   |  1 +
 sbc/sbc.sym |  5 +++++
 4 files changed, 27 insertions(+), 3 deletions(-)

Comments

Marcel Holtmann Dec. 3, 2020, 1:26 p.m. UTC | #1
Hi Pali,

> This adds a new API function sbc_reinit_msbc. Like sbc_reinit or

> sbc_reinit_a2dp but for msbc.

> ---

> Makefile.am |  6 +++---

> sbc/sbc.c   | 18 ++++++++++++++++++

> sbc/sbc.h   |  1 +

> sbc/sbc.sym |  5 +++++

> 4 files changed, 27 insertions(+), 3 deletions(-)


patch has been applied.

Regards

Marcel
diff mbox series

Patch

diff --git a/Makefile.am b/Makefile.am
index 7ff0c7d..8a58b59 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,9 +6,9 @@  AM_MAKEFLAGS = --no-print-directory
 # 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 @@  SBC_EXPORT int sbc_init_msbc(sbc_t *sbc, unsigned long flags)
 	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 @@  typedef struct sbc_struct sbc_t;
 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 @@  global:
 	sbc_init_a2dp;
 	sbc_reinit_a2dp;
 } SBC_1.1;
+
+SBC_1.3 {
+global:
+	sbc_reinit_msbc;
+} SBC_1.2;