summaryrefslogtreecommitdiff
path: root/media/cast/rtp_sender/rtp_packetizer/test/rtp_header_parser.h
blob: d28f5a8dec33c6691f6b8315982fddd2bd74aee8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Utility parser for rtp packetizer unittests
#ifndef MEDIA_CAST_RTP_SENDER_RTP_PACKETIZER_TEST_RTP_HEADER_PARSER_H_
#define MEDIA_CAST_RTP_SENDER_RTP_PACKETIZER_TEST_RTP_HEADER_PARSER_H_

#include "media/cast/rtp_common/rtp_defines.h"

namespace media {
namespace cast {

class RtpHeaderParser {
 public:
  RtpHeaderParser(const uint8* rtpData, size_t rtpDataLength);
  ~RtpHeaderParser();

  bool Parse(RtpCastHeader* parsed_packet) const;
 private:
  bool ParseCommon(RtpCastHeader* parsed_packet) const;
  bool ParseCast(RtpCastHeader* parsed_packet) const;
  const uint8* const rtp_data_begin_;
  size_t length_;

  DISALLOW_COPY_AND_ASSIGN(RtpHeaderParser);
};

}  // namespace cast
}  // namespace media

#endif  // MEDIA_CAST_RTP_SENDER_RTP_PACKETIZER_TEST_RTP_HEADER_PARSER_H_