diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2018-05-25 11:07:31 +0200 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2018-05-25 11:07:31 +0200 |
commit | dbd70c7b68cb7d7fa658ba5542342f7c1999960f (patch) | |
tree | e79df072a44960be5cc07774d78f9ba86d1faaa0 | |
parent | a19547b7a1f81ac2efe896983d2a4fa9169ec506 (diff) |
sdp: remove unused alt_codec field from struct mgcp_rtp_end
The alt_codec field is not used anywhere in the code
- remove unused alt_codec field
Change-Id: I5ff2899e3e61f33eb86f284b50ad8a94a949ed16
Related: OS#3114
-rw-r--r-- | include/osmocom/mgcp/mgcp_internal.h | 1 | ||||
-rw-r--r-- | src/libosmo-mgcp/mgcp_conn.c | 1 | ||||
-rw-r--r-- | src/libosmo-mgcp/mgcp_sdp.c | 31 | ||||
-rw-r--r-- | tests/mgcp/mgcp_test.c | 7 |
4 files changed, 20 insertions, 20 deletions
diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index ff02768cb..7a00c9841 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -116,7 +116,6 @@ struct mgcp_rtp_end { /* audio codec information */ struct mgcp_rtp_codec codec; - struct mgcp_rtp_codec alt_codec; /* TODO/XXX: make it generic */ /* per endpoint data */ int frames_per_packet; diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 280ee8be9..a7cd6cfdf 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -132,7 +132,6 @@ static void mgcp_rtp_conn_init(struct mgcp_conn_rtp *conn_rtp, struct mgcp_conn end->output_enabled = 0; mgcp_rtp_codec_init(&end->codec); - mgcp_rtp_codec_init(&end->alt_codec); conn_rtp->rate_ctr_group = rate_ctr_group_alloc(conn, &rate_ctr_group_desc, rate_ctr_index); conn_rtp->state.in_stream.err_ts_ctr = &conn_rtp->rate_ctr_group->ctr[IN_STREAM_ERR_TSTMP_CTR]; diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 5c66a8380..5cc34ea47 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -205,10 +205,10 @@ static int is_codec_compatible(const struct mgcp_endpoint *endp, * \param[in] endp trunk endpoint. * \param[out] conn associated rtp connection. * \param[out] caller provided memory to store the parsing results. - * \returns 1 when codecs are assigned, 0 when no codecs are assigned. + * \returns 1 when a codec is assigned, 0 when no codec is assigned * * Note: In conn (conn->end) the function returns the packet duration, - * rtp port, rtcp port and the assigned codecs (codec and alt_codec). */ + * rtp port, rtcp port and the assigned codec. */ int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn, struct mgcp_parse_data *p) @@ -218,7 +218,7 @@ int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp, char *line; int maxptime = -1; int i; - int codecs_assigned = 0; + bool codec_assigned = false; void *tmp_ctx = talloc_new(NULL); struct mgcp_rtp_end *rtp; @@ -277,6 +277,10 @@ int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp, rtp->rtp_port = htons(port); rtp->rtcp_port = htons(port + 1); codecs_used = rc - 1; + + /* So far we have only set the payload type in + * the codec struct. Now we fill up the + * remaining fields of the codec description */ codecs_initialize(tmp_ctx, codecs, codecs_used); } break; @@ -300,11 +304,11 @@ int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp, } } - /* Now select the primary and alt_codec */ - for (i = 0; i < codecs_used && codecs_assigned < 2; ++i) { - struct mgcp_rtp_codec *codec = codecs_assigned == 0 ? - &rtp->codec : &rtp->alt_codec; + /* Now select a suitable codec */ + for (i = 0; i < codecs_used; i++) { + /* When no transcoding is available, avoid codecs that would + * require transcoding. */ if (endp->tcfg->no_audio_transcoding && !is_codec_compatible(endp, &codecs[i])) { LOGP(DLMGCP, LOGL_NOTICE, "Skipping codec %s\n", @@ -312,12 +316,14 @@ int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp, continue; } - mgcp_set_audio_info(p->cfg, codec, + mgcp_set_audio_info(p->cfg, &rtp->codec, codecs[i].payload_type, codecs[i].map_line); - codecs_assigned += 1; + + codec_assigned = true; + break; } - if (codecs_assigned > 0) { + if (codec_assigned) { /* TODO/XXX: Store this per codec and derive it on use */ if (maxptime >= 0 && maxptime * rtp->codec.frame_duration_den > rtp->codec.frame_duration_num * 1500) { @@ -335,7 +341,10 @@ int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp, } talloc_free(tmp_ctx); - return codecs_assigned > 0; + + if (codec_assigned) + return 1; + return 0; } /*! Generate SDP response string. diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 67c5f6658..4dce64cff 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1244,7 +1244,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == 18); - OSMO_ASSERT(conn->end.alt_codec.payload_type == 97); /* Allocate 2@mgw with three codecs, last one ignored */ last_endpoint = -1; @@ -1260,7 +1259,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == 18); - OSMO_ASSERT(conn->end.alt_codec.payload_type == 97); /* Allocate 3@mgw with no codecs, check for PT == -1 */ last_endpoint = -1; @@ -1276,7 +1274,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == -1); - OSMO_ASSERT(conn->end.alt_codec.payload_type == -1); /* Allocate 4@mgw with a single codec */ last_endpoint = -1; @@ -1292,7 +1289,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == 18); - OSMO_ASSERT(conn->end.alt_codec.payload_type == -1); /* Allocate 5@mgw at select GSM.. */ last_endpoint = -1; @@ -1311,7 +1307,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == 3); - OSMO_ASSERT(conn->end.alt_codec.payload_type == -1); inp = create_msg(MDCX_NAT_DUMMY, conn_id); last_endpoint = -1; @@ -1323,7 +1318,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == 3); - OSMO_ASSERT(conn->end.alt_codec.payload_type == -1); OSMO_ASSERT(conn->end.rtp_port == htons(16434)); memset(&addr, 0, sizeof(addr)); inet_aton("8.8.8.8", &addr); @@ -1354,7 +1348,6 @@ static void test_multilple_codec(void) conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec.payload_type == 255); - OSMO_ASSERT(conn->end.alt_codec.payload_type == 0); talloc_free(cfg); } |