Dependencies: mbed NetServicesMin
rtp.c@0:aa9ebbd3715f, 2012-06-18 (annotated)
- Committer:
- fernya
- Date:
- Mon Jun 18 03:59:39 2012 +0000
- Revision:
- 0:aa9ebbd3715f
Beta
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fernya | 0:aa9ebbd3715f | 1 | #include "rtp.h" |
fernya | 0:aa9ebbd3715f | 2 | |
fernya | 0:aa9ebbd3715f | 3 | void rtp_decompose(char * buf, int buf_len, struct rtp_header * hdr, char ** wav_data) { |
fernya | 0:aa9ebbd3715f | 4 | hdr->version = (buf[0] & 0xC0) >> 6; |
fernya | 0:aa9ebbd3715f | 5 | hdr->padding = (buf[0] & 0x20) >> 5; |
fernya | 0:aa9ebbd3715f | 6 | hdr->extension = (buf[0] & 0x10) >> 4; |
fernya | 0:aa9ebbd3715f | 7 | hdr->csrc_count = (buf[0] & 0x0F); |
fernya | 0:aa9ebbd3715f | 8 | |
fernya | 0:aa9ebbd3715f | 9 | hdr->marker = (buf[1] & 0x80) >> 7; |
fernya | 0:aa9ebbd3715f | 10 | hdr->payload_type = (buf[1] & 0x7F); |
fernya | 0:aa9ebbd3715f | 11 | |
fernya | 0:aa9ebbd3715f | 12 | hdr->seq_number = (buf[2] << 8) | buf[3]; |
fernya | 0:aa9ebbd3715f | 13 | hdr->timestamp = (buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7]; |
fernya | 0:aa9ebbd3715f | 14 | hdr->ssrc = (buf[8] << 24) | (buf[9] << 16) | (buf[10] << 8) | buf[11]; |
fernya | 0:aa9ebbd3715f | 15 | |
fernya | 0:aa9ebbd3715f | 16 | hdr->header_len = 12; |
fernya | 0:aa9ebbd3715f | 17 | hdr->data_len = buf_len - hdr->header_len; |
fernya | 0:aa9ebbd3715f | 18 | |
fernya | 0:aa9ebbd3715f | 19 | //memcpy(wav_data+offset,(buf + hdr->header_len), hdr->data_len); |
fernya | 0:aa9ebbd3715f | 20 | *wav_data = buf+hdr->header_len; |
fernya | 0:aa9ebbd3715f | 21 | } |