• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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