// 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. #ifndef MEDIA_CAST_RTP_COMMON_RTP_DEFINES_H_ #define MEDIA_CAST_RTP_COMMON_RTP_DEFINES_H_ #include "base/basictypes.h" #include "media/cast/cast_config.h" #include "media/cast/rtcp/rtcp_defines.h" #include "third_party/webrtc/modules/interface/module_common_types.h" namespace media { namespace cast { const uint8 kRtpMarkerBitMask = 0x80; struct RtpCastHeader { RtpCastHeader() { is_key_frame = false; frame_id = 0; packet_id = 0; max_packet_id = 0; is_reference = false; reference_frame_id = 0; } webrtc::WebRtcRTPHeader webrtc; bool is_key_frame; uint32 frame_id; uint16 packet_id; uint16 max_packet_id; bool is_reference; // Set to true if the previous frame is not available, // and the reference frame id is available. uint32 reference_frame_id; }; class RtpPayloadFeedback { public: virtual void CastFeedback(const RtcpCastMessage& cast_feedback) = 0; protected: virtual ~RtpPayloadFeedback() {} }; } // namespace cast } // namespace media #endif // MEDIA_CAST_RTP_COMMON_RTP_DEFINES_H_