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 #ifndef MEDIA_CAST_RTP_RECEIVER_RTP_PARSER_RTP_PARSER_H_
6 #define MEDIA_CAST_RTP_RECEIVER_RTP_PARSER_RTP_PARSER_H_
8 #include "media/cast/rtp_receiver/rtp_receiver_defines.h"
9 #include "media/cast/transport/cast_transport_defines.h"
16 struct RtpParserConfig {
25 transport::AudioCodec audio_codec;
26 transport::VideoCodec video_codec;
32 RtpParser(RtpData* incoming_payload_callback,
33 const RtpParserConfig parser_config);
37 bool ParsePacket(const uint8* packet, size_t length,
38 RtpCastHeader* rtp_header);
41 bool ParseCommon(const uint8* packet, size_t length,
42 RtpCastHeader* rtp_header);
44 bool ParseCast(const uint8* packet, size_t length,
45 RtpCastHeader* rtp_header);
47 RtpData* data_callback_;
48 RtpParserConfig parser_config_;
49 transport::FrameIdWrapHelper frame_id_wrap_helper_;
50 transport::FrameIdWrapHelper reference_frame_id_wrap_helper_;
56 #endif // MEDIA_CAST_RTP_RECEIVER_RTP_PARSER_RTP_PARSER_H_