選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

30 行
956B

  1. #ifndef _rtp_header_h_
  2. #define _rtp_header_h_
  3. #include <stdint.h>
  4. #define RTP_VERSION 2 // RTP version field must equal 2 (p66)
  5. typedef struct _rtp_header_t
  6. {
  7. uint32_t v:2; /* protocol version */
  8. uint32_t p:1; /* padding flag */
  9. uint32_t x:1; /* header extension flag */
  10. uint32_t cc:4; /* CSRC count */
  11. uint32_t m:1; /* marker bit */
  12. uint32_t pt:7; /* payload type */
  13. uint32_t seq:16; /* sequence number */
  14. uint32_t timestamp; /* timestamp */
  15. uint32_t ssrc; /* synchronization source */
  16. } rtp_header_t;
  17. #define RTP_V(v) ((v >> 30) & 0x03) /* protocol version */
  18. #define RTP_P(v) ((v >> 29) & 0x01) /* padding flag */
  19. #define RTP_X(v) ((v >> 28) & 0x01) /* header extension flag */
  20. #define RTP_CC(v) ((v >> 24) & 0x0F) /* CSRC count */
  21. #define RTP_M(v) ((v >> 23) & 0x01) /* marker bit */
  22. #define RTP_PT(v) ((v >> 16) & 0x7F) /* payload type */
  23. #define RTP_SEQ(v) ((v >> 00) & 0xFFFF) /* sequence number */
  24. #endif /* !_rtp_header_h_ */