ran_infra codecs init

Change-Id: I7f7d50eecbd1dcde3a31eb34789e385815bb5a72
This commit is contained in:
Neels Hofmeyr 2024-02-25 03:48:51 +01:00
parent 521f0664a2
commit a7918c2241
1 changed files with 20 additions and 23 deletions

View File

@ -130,30 +130,27 @@ struct ran_infra msc_ran_infra[] = {
const int msc_ran_infra_len = ARRAY_SIZE(msc_ran_infra);
static __attribute__((constructor)) void on_dso_load_geran(void)
static __attribute__((constructor)) void on_dso_load_ran_codecs(void)
{
/* Initialize GERAN default codecs, in order of preference. By definition, all codec_mapping entries that match
* one of the GERAN GMSK Speech Versions are available. */
static const enum gsm48_bcap_speech_ver mobile_codecs[] = {
GSM48_BCAP_SV_AMR_F /*!< 4 GSM FR V3 (FR AMR) */,
GSM48_BCAP_SV_AMR_H /*!< 5 GSM HR V3 (HR_AMR) */,
GSM48_BCAP_SV_EFR /*!< 2 GSM FR V2 (GSM EFR) */,
GSM48_BCAP_SV_FR /*!< 0 GSM FR V1 (GSM FR) */,
GSM48_BCAP_SV_HR /*!< 1 GSM HR V1 (GSM HR) */,
msc_ran_infra[OSMO_RAT_GERAN_A].codecs = (struct sdp_audio_codecs){
.count = 7,
.codec = {
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "octet-align=1;mode-set=0,2,4,7", .payload_type = 112, },
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "octet-align=1;mode-set=0,2,4", .payload_type = 112, },
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "mode-set=0,2,4,7", .payload_type = 112, },
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "mode-set=0,2,4", .payload_type = 112, },
{ .subtype_name = "GSM-EFR", .rate = 8000, .payload_type = 110, },
{ .subtype_name = "GSM", .rate = 8000, .payload_type = 3, },
{ .subtype_name = "GSM-HR-08", .rate = 8000, .payload_type = 111, },
},
};
int i;
for (i = 0; i < ARRAY_SIZE(mobile_codecs); i++)
sdp_audio_codecs_add_speech_ver(&msc_ran_infra[OSMO_RAT_GERAN_A].codecs, mobile_codecs[i]);
}
static __attribute__((constructor)) void on_dso_load_utran(void)
{
static const enum gsm48_bcap_speech_ver utran_codecs[] = {
GSM48_BCAP_SV_AMR_F /*!< 4 GSM FR V3 (FR AMR) */,
GSM48_BCAP_SV_AMR_H /*!< 5 GSM HR V3 (HR_AMR) */,
GSM48_BCAP_SV_AMR_FW /*!< 8 GSM FR V5 (FR AMR-WB) */,
msc_ran_infra[OSMO_RAT_UTRAN_IU].codecs = (struct sdp_audio_codecs){
.count = 4,
.codec = {
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "octet-align=1;mode-set=0,2,4,7", .payload_type = 112, },
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "octet-align=1;mode-set=0,2,4", .payload_type = 112, },
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "mode-set=0,2,4,7", .payload_type = 112, },
{ .subtype_name = "AMR", .rate = 8000, .fmtp = "mode-set=0,2,4", .payload_type = 112, },
},
};
int i;
for (i = 0; i < ARRAY_SIZE(utran_codecs); i++)
sdp_audio_codecs_add_speech_ver(&msc_ran_infra[OSMO_RAT_UTRAN_IU].codecs, utran_codecs[i]);
}