OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 21 matching lines...) Expand all Loading... |
32 | 32 |
33 namespace cricket { | 33 namespace cricket { |
34 | 34 |
35 const size_t kMinRtpPacketLen = 12; | 35 const size_t kMinRtpPacketLen = 12; |
36 const size_t kMaxRtpPacketLen = 2048; | 36 const size_t kMaxRtpPacketLen = 2048; |
37 const size_t kMinRtcpPacketLen = 4; | 37 const size_t kMinRtcpPacketLen = 4; |
38 | 38 |
39 struct RtpHeader { | 39 struct RtpHeader { |
40 int payload_type; | 40 int payload_type; |
41 int seq_num; | 41 int seq_num; |
42 uint32 timestamp; | 42 uint32_t timestamp; |
43 uint32 ssrc; | 43 uint32_t ssrc; |
44 }; | 44 }; |
45 | 45 |
46 enum RtcpTypes { | 46 enum RtcpTypes { |
47 kRtcpTypeSR = 200, // Sender report payload type. | 47 kRtcpTypeSR = 200, // Sender report payload type. |
48 kRtcpTypeRR = 201, // Receiver report payload type. | 48 kRtcpTypeRR = 201, // Receiver report payload type. |
49 kRtcpTypeSDES = 202, // SDES payload type. | 49 kRtcpTypeSDES = 202, // SDES payload type. |
50 kRtcpTypeBye = 203, // BYE payload type. | 50 kRtcpTypeBye = 203, // BYE payload type. |
51 kRtcpTypeApp = 204, // APP payload type. | 51 kRtcpTypeApp = 204, // APP payload type. |
52 kRtcpTypeRTPFB = 205, // Transport layer Feedback message payload type. | 52 kRtcpTypeRTPFB = 205, // Transport layer Feedback message payload type. |
53 kRtcpTypePSFB = 206, // Payload-specific Feedback message payload type. | 53 kRtcpTypePSFB = 206, // Payload-specific Feedback message payload type. |
54 }; | 54 }; |
55 | 55 |
56 bool GetRtpPayloadType(const void* data, size_t len, int* value); | 56 bool GetRtpPayloadType(const void* data, size_t len, int* value); |
57 bool GetRtpSeqNum(const void* data, size_t len, int* value); | 57 bool GetRtpSeqNum(const void* data, size_t len, int* value); |
58 bool GetRtpTimestamp(const void* data, size_t len, uint32* value); | 58 bool GetRtpTimestamp(const void* data, size_t len, uint32_t* value); |
59 bool GetRtpSsrc(const void* data, size_t len, uint32* value); | 59 bool GetRtpSsrc(const void* data, size_t len, uint32_t* value); |
60 bool GetRtpHeaderLen(const void* data, size_t len, size_t* value); | 60 bool GetRtpHeaderLen(const void* data, size_t len, size_t* value); |
61 bool GetRtcpType(const void* data, size_t len, int* value); | 61 bool GetRtcpType(const void* data, size_t len, int* value); |
62 bool GetRtcpSsrc(const void* data, size_t len, uint32* value); | 62 bool GetRtcpSsrc(const void* data, size_t len, uint32_t* value); |
63 bool GetRtpHeader(const void* data, size_t len, RtpHeader* header); | 63 bool GetRtpHeader(const void* data, size_t len, RtpHeader* header); |
64 | 64 |
65 bool SetRtpSsrc(void* data, size_t len, uint32 value); | 65 bool SetRtpSsrc(void* data, size_t len, uint32_t value); |
66 // Assumes version 2, no padding, no extensions, no csrcs. | 66 // Assumes version 2, no padding, no extensions, no csrcs. |
67 bool SetRtpHeader(void* data, size_t len, const RtpHeader& header); | 67 bool SetRtpHeader(void* data, size_t len, const RtpHeader& header); |
68 | 68 |
69 bool IsRtpPacket(const void* data, size_t len); | 69 bool IsRtpPacket(const void* data, size_t len); |
70 | 70 |
71 // True if |payload type| is 0-127. | 71 // True if |payload type| is 0-127. |
72 bool IsValidRtpPayloadType(int payload_type); | 72 bool IsValidRtpPayloadType(int payload_type); |
73 | 73 |
74 } // namespace cricket | 74 } // namespace cricket |
75 | 75 |
76 #endif // TALK_MEDIA_BASE_RTPUTILS_H_ | 76 #endif // TALK_MEDIA_BASE_RTPUTILS_H_ |
OLD | NEW |