blob: b4bc1a204e954a210061639be1f4c6c125af946d [file] [log] [blame]
// 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_