<p>dexter has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/9234">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">sdp: remove unused alt_codec field from struct mgcp_rtp_end<br><br>The alt_codec field is not used anywhere in the code<br><br>- remove unused alt_codec field<br><br>Change-Id: I5ff2899e3e61f33eb86f284b50ad8a94a949ed16<br>Related: OS#3114<br>---<br>M include/osmocom/mgcp/mgcp_internal.h<br>M src/libosmo-mgcp/mgcp_conn.c<br>M src/libosmo-mgcp/mgcp_sdp.c<br>M tests/mgcp/mgcp_test.c<br>4 files changed, 20 insertions(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/34/9234/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h</span><br><span>index ff02768..7a00c98 100644</span><br><span>--- a/include/osmocom/mgcp/mgcp_internal.h</span><br><span>+++ b/include/osmocom/mgcp/mgcp_internal.h</span><br><span>@@ -116,7 +116,6 @@</span><br><span> </span><br><span>         /* audio codec information */</span><br><span>        struct mgcp_rtp_codec codec;</span><br><span style="color: hsl(0, 100%, 40%);">-    struct mgcp_rtp_codec alt_codec; /* TODO/XXX: make it generic */</span><br><span> </span><br><span>         /* per endpoint data */</span><br><span>      int  frames_per_packet;</span><br><span>diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c</span><br><span>index 280ee8b..a7cd6cf 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_conn.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_conn.c</span><br><span>@@ -132,7 +132,6 @@</span><br><span>   end->output_enabled = 0;</span><br><span> </span><br><span>      mgcp_rtp_codec_init(&end->codec);</span><br><span style="color: hsl(0, 100%, 40%);">-        mgcp_rtp_codec_init(&end->alt_codec);</span><br><span> </span><br><span>     conn_rtp->rate_ctr_group = rate_ctr_group_alloc(conn, &rate_ctr_group_desc, rate_ctr_index);</span><br><span>  conn_rtp->state.in_stream.err_ts_ctr = &conn_rtp->rate_ctr_group->ctr[IN_STREAM_ERR_TSTMP_CTR];</span><br><span>diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c</span><br><span>index 5acb1ce..5cc34ea 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_sdp.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_sdp.c</span><br><span>@@ -205,10 +205,10 @@</span><br><span>  *  \param[in] endp trunk endpoint.</span><br><span>  *  \param[out] conn associated rtp connection.</span><br><span>  *  \param[out] caller provided memory to store the parsing results.</span><br><span style="color: hsl(0, 100%, 40%);">- *  \returns 1 when codecs are assigned, 0 when no codecs are assigned</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \returns 1 when a codec is assigned, 0 when no codec is assigned</span><br><span>  *</span><br><span>  *  Note: In conn (conn->end) the function returns the packet duration,</span><br><span style="color: hsl(0, 100%, 40%);">- *  rtp port, rtcp port and the assigned codecs (codec and alt_codec). */</span><br><span style="color: hsl(120, 100%, 40%);">+ *  rtp port, rtcp port and the assigned codec. */</span><br><span> int mgcp_parse_sdp_data(const struct mgcp_endpoint *endp,</span><br><span>                    struct mgcp_conn_rtp *conn,</span><br><span>                  struct mgcp_parse_data *p)</span><br><span>@@ -218,7 +218,7 @@</span><br><span>     char *line;</span><br><span>  int maxptime = -1;</span><br><span>   int i;</span><br><span style="color: hsl(0, 100%, 40%);">-  int codecs_assigned = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+      bool codec_assigned = false;</span><br><span>         void *tmp_ctx = talloc_new(NULL);</span><br><span>    struct mgcp_rtp_end *rtp;</span><br><span> </span><br><span>@@ -277,6 +277,10 @@</span><br><span>                                 rtp->rtp_port = htons(port);</span><br><span>                              rtp->rtcp_port = htons(port + 1);</span><br><span>                                 codecs_used = rc - 1;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                               /* So far we have only set the payload type in</span><br><span style="color: hsl(120, 100%, 40%);">+                                 * the codec struct. Now we fill up the</span><br><span style="color: hsl(120, 100%, 40%);">+                                * remaining fields of the codec description */</span><br><span>                              codecs_initialize(tmp_ctx, codecs, codecs_used);</span><br><span>                     }</span><br><span>                    break;</span><br><span>@@ -300,11 +304,11 @@</span><br><span>               }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* Now select the primary and alt_codec */</span><br><span style="color: hsl(0, 100%, 40%);">-      for (i = 0; i < codecs_used && codecs_assigned < 2; ++i) {</span><br><span style="color: hsl(0, 100%, 40%);">-                struct mgcp_rtp_codec *codec = codecs_assigned == 0 ?</span><br><span style="color: hsl(0, 100%, 40%);">-               &rtp->codec : &rtp->alt_codec;</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Now select a suitable codec */</span><br><span style="color: hsl(120, 100%, 40%);">+     for (i = 0; i < codecs_used; i++) {</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+            /* When no transcoding is available, avoid codecs that would</span><br><span style="color: hsl(120, 100%, 40%);">+           * require transcoding. */</span><br><span>           if (endp->tcfg->no_audio_transcoding &&</span><br><span>                    !is_codec_compatible(endp, &codecs[i])) {</span><br><span>                    LOGP(DLMGCP, LOGL_NOTICE, "Skipping codec %s\n",</span><br><span>@@ -312,12 +316,14 @@</span><br><span>                   continue;</span><br><span>            }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           mgcp_set_audio_info(p->cfg, codec,</span><br><span style="color: hsl(120, 100%, 40%);">+         mgcp_set_audio_info(p->cfg, &rtp->codec,</span><br><span>                               codecs[i].payload_type, codecs[i].map_line);</span><br><span style="color: hsl(0, 100%, 40%);">-                codecs_assigned += 1;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+               codec_assigned = true;</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (codecs_assigned > 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (codec_assigned) {</span><br><span>                /* TODO/XXX: Store this per codec and derive it on use */</span><br><span>            if (maxptime >= 0 && maxptime * rtp->codec.frame_duration_den ></span><br><span>                 rtp->codec.frame_duration_num * 1500) {</span><br><span>@@ -335,7 +341,10 @@</span><br><span>        }</span><br><span> </span><br><span>        talloc_free(tmp_ctx);</span><br><span style="color: hsl(0, 100%, 40%);">-   return codecs_assigned > 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      if (codec_assigned)</span><br><span style="color: hsl(120, 100%, 40%);">+           return 1;</span><br><span style="color: hsl(120, 100%, 40%);">+     return 0;</span><br><span> }</span><br><span> </span><br><span> /*! Generate SDP response string.</span><br><span>diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c</span><br><span>index 67c5f66..4dce64c 100644</span><br><span>--- a/tests/mgcp/mgcp_test.c</span><br><span>+++ b/tests/mgcp/mgcp_test.c</span><br><span>@@ -1244,7 +1244,6 @@</span><br><span>         conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == 18);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(conn->end.alt_codec.payload_type == 97);</span><br><span> </span><br><span>  /* Allocate 2@mgw with three codecs, last one ignored */</span><br><span>     last_endpoint = -1;</span><br><span>@@ -1260,7 +1259,6 @@</span><br><span>  conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == 18);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(conn->end.alt_codec.payload_type == 97);</span><br><span> </span><br><span>  /* Allocate 3@mgw with no codecs, check for PT == -1 */</span><br><span>      last_endpoint = -1;</span><br><span>@@ -1276,7 +1274,6 @@</span><br><span>  conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == -1);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(conn->end.alt_codec.payload_type == -1);</span><br><span> </span><br><span>  /* Allocate 4@mgw with a single codec */</span><br><span>     last_endpoint = -1;</span><br><span>@@ -1292,7 +1289,6 @@</span><br><span>  conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == 18);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(conn->end.alt_codec.payload_type == -1);</span><br><span> </span><br><span>  /* Allocate 5@mgw at select GSM.. */</span><br><span>         last_endpoint = -1;</span><br><span>@@ -1311,7 +1307,6 @@</span><br><span>  conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == 3);</span><br><span style="color: hsl(0, 100%, 40%);">-      OSMO_ASSERT(conn->end.alt_codec.payload_type == -1);</span><br><span> </span><br><span>  inp = create_msg(MDCX_NAT_DUMMY, conn_id);</span><br><span>   last_endpoint = -1;</span><br><span>@@ -1323,7 +1318,6 @@</span><br><span>  conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == 3);</span><br><span style="color: hsl(0, 100%, 40%);">-      OSMO_ASSERT(conn->end.alt_codec.payload_type == -1);</span><br><span>      OSMO_ASSERT(conn->end.rtp_port == htons(16434));</span><br><span>  memset(&addr, 0, sizeof(addr));</span><br><span>  inet_aton("8.8.8.8", &addr);</span><br><span>@@ -1354,7 +1348,6 @@</span><br><span>   conn = mgcp_conn_get_rtp(endp, conn_id);</span><br><span>     OSMO_ASSERT(conn);</span><br><span>   OSMO_ASSERT(conn->end.codec.payload_type == 255);</span><br><span style="color: hsl(0, 100%, 40%);">-    OSMO_ASSERT(conn->end.alt_codec.payload_type == 0);</span><br><span> </span><br><span>   talloc_free(cfg);</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9234">change 9234</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9234"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I5ff2899e3e61f33eb86f284b50ad8a94a949ed16 </div>
<div style="display:none"> Gerrit-Change-Number: 9234 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>