Changeset 3547 for pjproject/trunk/pjmedia/src/pjmedia/sdp.c
- Timestamp:
- Apr 28, 2011 4:01:40 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/sdp.c
r3541 r3547 545 545 } 546 546 547 PJ_DEF(pjmedia_sdp_bandw*) 548 pjmedia_sdp_bandw_clone (pj_pool_t *pool, 549 const pjmedia_sdp_bandw *rhs) 550 { 551 pjmedia_sdp_bandw *b = PJ_POOL_ALLOC_T(pool, pjmedia_sdp_bandw); 552 if (!b) return NULL; 553 554 if (!pj_strdup (pool, &b->modifier, &rhs->modifier)) return NULL; 555 b->value = rhs->value; 556 557 return b; 558 } 559 560 static pj_ssize_t print_bandw(const pjmedia_sdp_bandw *bandw, 561 char *buf, pj_size_t len) 562 { 563 char *p = buf; 564 565 if ((int)len < bandw->modifier.slen + 10 + 5) 566 return -1; 567 568 *p++ = 'b'; 569 *p++ = '='; 570 pj_memcpy(p, bandw->modifier.ptr, bandw->modifier.slen); 571 p += bandw->modifier.slen; 572 *p++ = ':'; 573 p += pj_utoa(bandw->value, p); 574 575 *p++ = '\r'; 576 *p++ = '\n'; 577 return p-buf; 578 } 579 547 580 static pj_ssize_t print_attr(const pjmedia_sdp_attr *attr, 548 581 char *buf, pj_size_t len) … … 612 645 p += printed; 613 646 } 647 648 /* print optional bandwidth info. */ 649 for (i=0; i<m->bandw_count; ++i) { 650 printed = print_bandw(m->bandw[i], p, end-p); 651 if (printed < 0) { 652 return -1; 653 } 654 p += printed; 655 } 614 656 615 657 /* print attributes. */ … … 646 688 } else { 647 689 m->conn = NULL; 690 } 691 692 m->bandw_count = rhs->bandw_count; 693 for (i=0; i < rhs->bandw_count; ++i) { 694 m->bandw[i] = pjmedia_sdp_bandw_clone (pool, rhs->bandw[i]); 695 PJ_ASSERT_RETURN(m->bandw[i] != NULL, NULL); 648 696 } 649 697 … … 1468 1516 } 1469 1517 1518 m->bandw_count = rhs->bandw_count; 1519 for (i=0; i < rhs->bandw_count; ++i) { 1520 m->bandw[i] = pjmedia_sdp_bandw_clone (pool, rhs->bandw[i]); 1521 PJ_ASSERT_RETURN(m->bandw[i] != NULL, NULL); 1522 } 1523 1470 1524 /* And deactivate it */ 1471 1525 pjmedia_sdp_media_deactivate(pool, m);
Note: See TracChangeset
for help on using the changeset viewer.