summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia/sdp.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia/src/pjmedia/sdp.c')
-rw-r--r--pjmedia/src/pjmedia/sdp.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/pjmedia/src/pjmedia/sdp.c b/pjmedia/src/pjmedia/sdp.c
index 79f6cd98..a593b745 100644
--- a/pjmedia/src/pjmedia/sdp.c
+++ b/pjmedia/src/pjmedia/sdp.c
@@ -567,7 +567,7 @@ PJ_DEF(pjmedia_sdp_media*) pjmedia_sdp_media_clone(
pj_strdup (pool, &m->desc.transport, &rhs->desc.transport);
m->desc.fmt_count = rhs->desc.fmt_count;
for (i=0; i<rhs->desc.fmt_count; ++i)
- m->desc.fmt[i] = rhs->desc.fmt[i];
+ pj_strdup(pool, &m->desc.fmt[i], &rhs->desc.fmt[i]);
if (rhs->conn) {
m->conn = pjmedia_sdp_conn_clone (pool, rhs->conn);
@@ -678,6 +678,16 @@ static int print_session(const pjmedia_sdp_session *ses,
*p++ = '\r';
*p++ = '\n';
+ /* Connection line (c=) if exist. */
+ if (ses->conn) {
+ printed = print_connection_info(ses->conn, p, end-p);
+ if (printed < 1) {
+ return -1;
+ }
+ p += printed;
+ }
+
+
/* Time */
if ((end-p) < 24) {
return -1;
@@ -692,15 +702,6 @@ static int print_session(const pjmedia_sdp_session *ses,
*p++ = '\r';
*p++ = '\n';
- /* Connection line (c=) if exist. */
- if (ses->conn) {
- printed = print_connection_info(ses->conn, p, end-p);
- if (printed < 1) {
- return -1;
- }
- p += printed;
- }
-
/* Print all attribute (a=) lines. */
for (i=0; i<ses->attr_count; ++i) {
printed = print_attr(ses->attr[i], p, end-p);