summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2006-09-28 21:36:48 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2006-09-28 21:36:48 +0000
commite3dbc939bd096c8604d1480e0994f73f65a39f16 (patch)
tree15da543b1e9d120ec8f8c04a72942aa1c8d6002e
parent9203084c0b92805006c133f82fbc0cbd6b203904 (diff)
fixed csrc for partial responses
-rw-r--r--src/sdp.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sdp.c b/src/sdp.c
index 7e7698b2..0eeb5a09 100644
--- a/src/sdp.c
+++ b/src/sdp.c
@@ -3569,7 +3569,17 @@ int sdp_process(sdp_session_t *session)
/* first fragment */
rsp_count = sizeof(tsrc) + sizeof(csrc) + csrc * 4;
} else {
- pdata += 2 * sizeof(uint16_t); /* Ignore TSRC and CSRC */
+ /* point to the first csrc */
+ uint16_t *pcsrc = (uint16_t *) (t->rsp_concat_buf.data + 2);
+
+ /* FIXME: update the interface later. csrc doesn't need be passed to clients */
+
+ pdata += sizeof(uint16_t); /* point to csrc */
+
+ /* the first csrc contains the sum of partial csrc responses */
+ *pcsrc += bt_get_unaligned((uint16_t *) pdata);
+
+ pdata += sizeof(uint16_t); /* point to the first handle */
rsp_count = csrc * 4;
}
status = 0x0000;