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

Side by Side Diff: media/cast/rtcp/rtcp_sender.cc

Issue 162333002: Cast: Rtcp and RtcpSender don't take event logs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cast Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/cast/rtcp/rtcp_sender.h ('k') | media/cast/rtcp/rtcp_sender_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/cast/rtcp/rtcp_sender.h" 5 #include "media/cast/rtcp/rtcp_sender.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "media/cast/cast_environment.h" 11 #include "media/cast/cast_environment.h"
12 #include "media/cast/rtcp/receiver_rtcp_event_subscriber.h"
12 #include "media/cast/rtcp/rtcp_defines.h" 13 #include "media/cast/rtcp/rtcp_defines.h"
13 #include "media/cast/rtcp/rtcp_utility.h" 14 #include "media/cast/rtcp/rtcp_utility.h"
14 #include "media/cast/transport/cast_transport_defines.h" 15 #include "media/cast/transport/cast_transport_defines.h"
15 #include "media/cast/transport/pacing/paced_sender.h" 16 #include "media/cast/transport/pacing/paced_sender.h"
16 #include "net/base/big_endian.h" 17 #include "net/base/big_endian.h"
17 18
18 namespace { 19 namespace {
19 20
20 using media::cast::kRtcpCastLogHeaderSize; 21 using media::cast::kRtcpCastLogHeaderSize;
21 using media::cast::kRtcpSenderFrameLogSize; 22 using media::cast::kRtcpSenderFrameLogSize;
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 } 143 }
143 144
144 RtcpSender::~RtcpSender() {} 145 RtcpSender::~RtcpSender() {}
145 146
146 // static 147 // static
147 bool RtcpSender::IsReceiverEvent(const media::cast::CastLoggingEvent& event) { 148 bool RtcpSender::IsReceiverEvent(const media::cast::CastLoggingEvent& event) {
148 return ConvertEventTypeToWireFormat(event) != 0; 149 return ConvertEventTypeToWireFormat(event) != 0;
149 } 150 }
150 151
151 void RtcpSender::SendRtcpFromRtpReceiver( 152 void RtcpSender::SendRtcpFromRtpReceiver(
152 uint32 packet_type_flags, const transport::RtcpReportBlock* report_block, 153 uint32 packet_type_flags,
154 const transport::RtcpReportBlock* report_block,
153 const RtcpReceiverReferenceTimeReport* rrtr, 155 const RtcpReceiverReferenceTimeReport* rrtr,
154 const RtcpCastMessage* cast_message, RtcpReceiverLogMessage* receiver_log) { 156 const RtcpCastMessage* cast_message,
157 ReceiverRtcpEventSubscriber* event_subscriber) {
155 if (packet_type_flags & kRtcpSr || packet_type_flags & kRtcpDlrr || 158 if (packet_type_flags & kRtcpSr || packet_type_flags & kRtcpDlrr ||
156 packet_type_flags & kRtcpSenderLog) { 159 packet_type_flags & kRtcpSenderLog) {
157 NOTREACHED() << "Invalid argument"; 160 NOTREACHED() << "Invalid argument";
158 } 161 }
159 if (packet_type_flags & kRtcpPli || packet_type_flags & kRtcpRpsi || 162 if (packet_type_flags & kRtcpPli || packet_type_flags & kRtcpRpsi ||
160 packet_type_flags & kRtcpRemb || packet_type_flags & kRtcpNack) { 163 packet_type_flags & kRtcpRemb || packet_type_flags & kRtcpNack) {
161 // Implement these for webrtc interop. 164 // Implement these for webrtc interop.
162 NOTIMPLEMENTED(); 165 NOTIMPLEMENTED();
163 } 166 }
164 Packet packet; 167 Packet packet;
(...skipping 10 matching lines...) Expand all
175 } 178 }
176 if (packet_type_flags & kRtcpRrtr) { 179 if (packet_type_flags & kRtcpRrtr) {
177 DCHECK(rrtr) << "Invalid argument"; 180 DCHECK(rrtr) << "Invalid argument";
178 BuildRrtr(rrtr, &packet); 181 BuildRrtr(rrtr, &packet);
179 } 182 }
180 if (packet_type_flags & kRtcpCast) { 183 if (packet_type_flags & kRtcpCast) {
181 DCHECK(cast_message) << "Invalid argument"; 184 DCHECK(cast_message) << "Invalid argument";
182 BuildCast(cast_message, &packet); 185 BuildCast(cast_message, &packet);
183 } 186 }
184 if (packet_type_flags & kRtcpReceiverLog) { 187 if (packet_type_flags & kRtcpReceiverLog) {
185 DCHECK(receiver_log) << "Invalid argument"; 188 DCHECK(event_subscriber) << "Invalid argument";
186 BuildReceiverLog(receiver_log, &packet); 189 RtcpReceiverLogMessage receiver_log;
190 event_subscriber->GetReceiverLogMessageAndReset(&receiver_log);
191 BuildReceiverLog(&receiver_log, &packet);
187 } 192 }
188 if (packet.empty()) return; // Sanity don't send empty packets. 193 if (packet.empty()) return; // Sanity don't send empty packets.
189 194
190 transport_->SendRtcpPacket(packet); 195 transport_->SendRtcpPacket(packet);
191 } 196 }
192 197
193 void RtcpSender::BuildRR(const transport::RtcpReportBlock* report_block, 198 void RtcpSender::BuildRR(const transport::RtcpReportBlock* report_block,
194 Packet* packet) const { 199 Packet* packet) const {
195 size_t start_size = packet->size(); 200 size_t start_size = packet->size();
196 DCHECK_LT(start_size + 32, kMaxIpPacketSize) << "Not enough buffer space"; 201 DCHECK_LT(start_size + 32, kMaxIpPacketSize) << "Not enough buffer space";
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 if (frame_log_messages.event_log_messages_.empty()) { 658 if (frame_log_messages.event_log_messages_.empty()) {
654 // We sent all messages on this frame; pop the frame header. 659 // We sent all messages on this frame; pop the frame header.
655 receiver_log_message->pop_front(); 660 receiver_log_message->pop_front();
656 } 661 }
657 } 662 }
658 DCHECK_EQ(total_number_of_messages_to_send, 0); 663 DCHECK_EQ(total_number_of_messages_to_send, 0);
659 } 664 }
660 665
661 } // namespace cast 666 } // namespace cast
662 } // namespace media 667 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_sender.h ('k') | media/cast/rtcp/rtcp_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698