1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Utility parser for rtp packetizer unittests
6 #ifndef MEDIA_CAST_TRANSPORT_RTP_SENDER_RTP_PACKETIZER_TEST_RTP_HEADER_PARSER_H_
7 #define MEDIA_CAST_TRANSPORT_RTP_SENDER_RTP_PACKETIZER_TEST_RTP_HEADER_PARSER_H_
9 #include "base/basictypes.h"
10 #include "media/cast/transport/cast_transport_defines.h"
16 // TODO(miu): Kill this and use RtpCastHeader instead.
17 struct RtpCastTestHeader {
25 bool is_reference; // Set to true if the previous frame is not available,
26 // and the reference frame id is available.
27 uint32 reference_frame_id;
31 uint16 sequence_number;
36 uint8 audio_num_energy;
40 // TODO(miu): Kill this and use RtpParser instead.
41 class RtpHeaderParser {
43 RtpHeaderParser(const uint8* rtpData, size_t rtpDataLength);
46 bool Parse(RtpCastTestHeader* parsed_packet) const;
49 bool ParseCommon(RtpCastTestHeader* parsed_packet) const;
50 bool ParseCast(RtpCastTestHeader* parsed_packet) const;
51 const uint8* const rtp_data_begin_;
54 mutable transport::FrameIdWrapHelper frame_id_wrap_helper_;
55 mutable transport::FrameIdWrapHelper reference_frame_id_wrap_helper_;
57 DISALLOW_COPY_AND_ASSIGN(RtpHeaderParser);
60 } // namespace transport
64 #endif // MEDIA_CAST_TRANSPORT_RTP_SENDER_RTP_PACKETIZER_TEST_RTP_HEADER_PARSER_H_