| Index: media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc
|
| diff --git a/media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc b/media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc
|
| index e25151113ca1ffee38b16ab703ecdfb69e638c93..b8ab3baa296dc483cd3338a9e05292181e8c2dd2 100644
|
| --- a/media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc
|
| +++ b/media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc
|
| @@ -20,7 +20,6 @@ RtpPacketBuilder::RtpPacketBuilder()
|
| packet_id_(0),
|
| max_packet_id_(0),
|
| reference_frame_id_(0),
|
| - is_reference_set_(false),
|
| timestamp_(0),
|
| sequence_number_(0),
|
| marker_(false),
|
| @@ -29,7 +28,10 @@ RtpPacketBuilder::RtpPacketBuilder()
|
|
|
| void RtpPacketBuilder::SetKeyFrame(bool is_key) { is_key_ = is_key; }
|
|
|
| -void RtpPacketBuilder::SetFrameId(uint32 frame_id) { frame_id_ = frame_id; }
|
| +void RtpPacketBuilder::SetFrameIds(uint32 frame_id, uint32 reference_frame_id) {
|
| + frame_id_ = frame_id;
|
| + reference_frame_id_ = reference_frame_id;
|
| +}
|
|
|
| void RtpPacketBuilder::SetPacketId(uint16 packet_id) { packet_id_ = packet_id; }
|
|
|
| @@ -37,12 +39,6 @@ void RtpPacketBuilder::SetMaxPacketId(uint16 max_packet_id) {
|
| max_packet_id_ = max_packet_id;
|
| }
|
|
|
| -void RtpPacketBuilder::SetReferenceFrameId(uint32 reference_frame_id,
|
| - bool is_set) {
|
| - is_reference_set_ = is_set;
|
| - if (is_set)
|
| - reference_frame_id_ = reference_frame_id;
|
| -}
|
| void RtpPacketBuilder::SetTimestamp(uint32 timestamp) {
|
| timestamp_ = timestamp;
|
| }
|
| @@ -71,12 +67,15 @@ void RtpPacketBuilder::BuildCastHeader(uint8* data, uint32 data_length) {
|
| // Set the first 7 bytes to 0.
|
| memset(data, 0, kCastRtpHeaderLength);
|
| base::BigEndianWriter big_endian_writer(reinterpret_cast<char*>(data), 56);
|
| + const bool includes_specific_frame_reference =
|
| + (is_key_ && (reference_frame_id_ != frame_id_)) ||
|
| + (!is_key_ && (reference_frame_id_ != (frame_id_ - 1)));
|
| big_endian_writer.WriteU8((is_key_ ? 0x80 : 0) |
|
| - (is_reference_set_ ? 0x40 : 0));
|
| + (includes_specific_frame_reference ? 0x40 : 0));
|
| big_endian_writer.WriteU8(frame_id_);
|
| big_endian_writer.WriteU16(packet_id_);
|
| big_endian_writer.WriteU16(max_packet_id_);
|
| - if (is_reference_set_) {
|
| + if (includes_specific_frame_reference) {
|
| big_endian_writer.WriteU8(reference_frame_id_);
|
| }
|
| }
|
|
|