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. 4 5 #ifndef MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_DEFINES_H_ 6 #define MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_DEFINES_H_ 7 8 #include "base/basictypes.h" 9 #include "media/cast/cast_config.h" 10 #include "media/cast/rtcp/rtcp_defines.h" 11 #include "third_party/webrtc/modules/interface/module_common_types.h" 12 13 namespace media { 14 namespace cast { 15 16 const uint8 kRtpMarkerBitMask = 0x80; 17 18 struct RtpCastHeader { RtpCastHeaderRtpCastHeader19 RtpCastHeader() { 20 is_key_frame = false; 21 frame_id = 0; 22 packet_id = 0; 23 max_packet_id = 0; 24 is_reference = false; 25 reference_frame_id = 0; 26 } 27 webrtc::WebRtcRTPHeader webrtc; 28 bool is_key_frame; 29 uint32 frame_id; 30 uint16 packet_id; 31 uint16 max_packet_id; 32 bool is_reference; // Set to true if the previous frame is not available, 33 // and the reference frame id is available. 34 uint32 reference_frame_id; 35 }; 36 37 class RtpPayloadFeedback { 38 public: 39 virtual void CastFeedback(const RtcpCastMessage& cast_feedback) = 0; 40 41 protected: ~RtpPayloadFeedback()42 virtual ~RtpPayloadFeedback() {} 43 }; 44 45 } // namespace cast 46 } // namespace media 47 48 #endif // MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_DEFINES_H_ 49