Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Unified Diff: media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc

Issue 250363002: [Cast] Clean-up RtpCastHeader and RtpParser, removing the last WebRTC dependency. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed hubbe's comment. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_);
}
}
« no previous file with comments | « media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.h ('k') | media/cast/rtp_receiver/rtp_receiver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698