Home | History | Annotate | Download | only in rtp_receiver
      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 {
     19   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:
     42   virtual ~RtpPayloadFeedback() {}
     43 };
     44 
     45 }  // namespace cast
     46 }  // namespace media
     47 
     48 #endif  // MEDIA_CAST_RTP_RECEIVER_RTP_RECEIVER_DEFINES_H_
     49