Dependencies:   mbed NetServicesMin

Revision:
0:aa9ebbd3715f
diff -r 000000000000 -r aa9ebbd3715f rtp.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rtp.c	Mon Jun 18 03:59:39 2012 +0000
@@ -0,0 +1,21 @@
+#include "rtp.h"
+
+void rtp_decompose(char * buf, int buf_len, struct rtp_header * hdr, char ** wav_data) {
+    hdr->version        = (buf[0] & 0xC0) >> 6;
+    hdr->padding        = (buf[0] & 0x20) >> 5;
+    hdr->extension      = (buf[0] & 0x10) >> 4;
+    hdr->csrc_count     = (buf[0] & 0x0F);
+
+    hdr->marker         = (buf[1] & 0x80) >> 7;
+    hdr->payload_type   = (buf[1] & 0x7F);
+
+    hdr->seq_number     = (buf[2] << 8)  | buf[3];
+    hdr->timestamp      = (buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7];
+    hdr->ssrc           = (buf[8] << 24) | (buf[9] << 16) | (buf[10] << 8) | buf[11];
+
+    hdr->header_len     = 12;
+    hdr->data_len       = buf_len - hdr->header_len;
+
+    //memcpy(wav_data+offset,(buf + hdr->header_len), hdr->data_len);
+    *wav_data = buf+hdr->header_len;
+}