From: Max <[email protected]>

ortp: according to oRTP documentation rtp_session_set_connected_mode()
uses the address set by rtp_session_set_remote_addr() - move the
function call accordingly.

Fixes: OS#1661
---
 src/trau/osmo_ortp.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c
index 5ab5bf5..3313798 100644
--- a/src/trau/osmo_ortp.c
+++ b/src/trau/osmo_ortp.c
@@ -390,16 +390,17 @@ int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, 
const char *ip, uint16_t
                     "set remote %s:%u\n", ip, port);
                return 0;
        }
+
+       rc = rtp_session_set_remote_addr(rs->sess, ip, port);
+       if (rc < 0)
+               return rc;
+
        /* enable the use of connect() so later getsockname() will
         * actually return the IP address that was chosen for the local
         * sid of the connection */
        rtp_session_set_connected_mode(rs->sess, 1);
        rs->flags &= ~OSMO_RTP_F_DISABLED;

-       rc = rtp_session_set_remote_addr(rs->sess, ip, port);
-       if (rc < 0)
-               return rc;
-
        if (rs->flags & OSMO_RTP_F_POLL)
                return rc;
        else
-- 
2.8.1

Reply via email to