[1/4] mncc: Select the codec similar to the modify handling
diff mbox

Message ID 1428648956-27615-1-git-send-email-holger@freyther.de
State Accepted
Headers show

Commit Message

Holger Freyther April 10, 2015, 6:55 a.m. UTC
From: Holger Hans Peter Freyther <holger@moiji-mobile.com>

In case the default TCH/F codec is "EFR" and we do an early
assignment from SDCCH to a TCH we would assign the TCH/H
codec. This is because the lchan_type will be neither a
TCH/H nor a TCH/F.

At the same time the _gsm48_lchan_modify code to check for
half vs. full-rate is the other way around. Align both.

It is full-rate if it is not a TCH_H. This will have some
other complications down the way (early assignment on
cells with only TCH/H). So the mode should not depend on
the _current_ channel but the kind of channel we want.
---
 openbsc/src/libmsc/mncc_builtin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch
diff mbox

diff --git a/openbsc/src/libmsc/mncc_builtin.c b/openbsc/src/libmsc/mncc_builtin.c
index a5a463b..5c3461b 100644
--- a/openbsc/src/libmsc/mncc_builtin.c
+++ b/openbsc/src/libmsc/mncc_builtin.c
@@ -69,7 +69,7 @@  static uint8_t determine_lchan_mode(struct gsm_mncc *setup)
 {
 	/* FIXME: check codec capabilities of the phone */
 
-	if (setup->lchan_type == GSM_LCHAN_TCH_F)
+	if (setup->lchan_type != GSM_LCHAN_TCH_H)
 		return mncc_int.def_codec[0];
 	else
 		return mncc_int.def_codec[1];