1 // Copyright 2014 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/net/rtcp/rtcp_defines.h" 11 12 namespace media { 13 namespace cast { 14 15 struct RtpCastHeader { 16 RtpCastHeader(); 17 18 // Elements from RTP packet header. 19 bool marker; 20 uint8 payload_type; 21 uint16 sequence_number; 22 uint32 rtp_timestamp; 23 uint32 sender_ssrc; 24 25 // Elements from Cast header (at beginning of RTP payload). 26 bool is_key_frame; 27 uint32 frame_id; 28 uint16 packet_id; 29 uint16 max_packet_id; 30 uint32 reference_frame_id; 31 32 uint16 new_playout_delay_ms; 33 }; 34 35 class RtpPayloadFeedback { 36 public: 37 virtual void CastFeedback(const RtcpCastMessage& cast_feedback) = 0; 38 39 protected: 40 virtual ~RtpPayloadFeedback(); 41 }; 42 43 } // namespace cast 44 } // namespace media 45 46 #endif // MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_DEFINES_H_ 47