OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license | |
5 * that can be found in the LICENSE file in the root of the source | |
6 * tree. An additional intellectual property rights grant can be found | |
7 * in the file PATENTS. All contributing project authors may | |
8 * be found in the AUTHORS file in the root of the source tree. | |
9 */ | |
10 #ifndef WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_HEADER_PARSER_H_ | |
11 #define WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_HEADER_PARSER_H_ | |
12 | |
13 #pragma message("WARNING: rtp_rtcp/interface is DEPRECATED; use include dir.") | |
14 | |
15 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" | |
16 #include "webrtc/typedefs.h" | |
17 | |
18 namespace webrtc { | |
19 | |
20 struct RTPHeader; | |
21 | |
22 class RtpHeaderParser { | |
23 public: | |
24 static RtpHeaderParser* Create(); | |
25 virtual ~RtpHeaderParser() {} | |
26 | |
27 // Returns true if the packet is an RTCP packet, false otherwise. | |
28 static bool IsRtcp(const uint8_t* packet, size_t length); | |
29 | |
30 // Parses the packet and stores the parsed packet in |header|. Returns true on | |
31 // success, false otherwise. | |
32 // This method is thread-safe in the sense that it can parse multiple packets | |
33 // at once. | |
34 virtual bool Parse(const uint8_t* packet, | |
35 size_t length, | |
36 RTPHeader* header) const = 0; | |
37 | |
38 // Registers an RTP header extension and binds it to |id|. | |
39 virtual bool RegisterRtpHeaderExtension(RTPExtensionType type, | |
40 uint8_t id) = 0; | |
41 | |
42 // De-registers an RTP header extension. | |
43 virtual bool DeregisterRtpHeaderExtension(RTPExtensionType type) = 0; | |
44 }; | |
45 } // namespace webrtc | |
46 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_HEADER_PARSER_H_ | |
OLD | NEW |