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

Side by Side Diff: media/cast/transport/pacing/paced_sender.cc

Issue 144033004: Cast: Replace string+int x2 with net::IPEndPoint in CastTransportConfig. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « media/cast/transport/cast_transport_config.cc ('k') | no next file » | 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/transport/pacing/paced_sender.h" 5 #include "media/cast/transport/pacing/paced_sender.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 9
10 namespace media { 10 namespace media {
11 namespace cast { 11 namespace cast {
12 namespace transport { 12 namespace transport {
13 13
14 namespace { 14 namespace {
15 static const int64 kPacingIntervalMs = 10; 15 static const int64 kPacingIntervalMs = 10;
16 // Each frame will be split into no more than kPacingMaxBurstsPerFrame 16 // Each frame will be split into no more than kPacingMaxBurstsPerFrame
17 // bursts of packets. 17 // bursts of packets.
18 static const size_t kPacingMaxBurstsPerFrame = 3; 18 static const size_t kPacingMaxBurstsPerFrame = 3;
19 19
20 void CreateUDPAddress(std::string ip_str, int port, net::IPEndPoint* address) {
21 net::IPAddressNumber ip_number;
22 bool rv = net::ParseIPLiteralToNumber(ip_str, &ip_number);
23 if (!rv)
24 return;
25 *address = net::IPEndPoint(ip_number, port);
26 }
27 } // namespace 20 } // namespace
28 21
29 PacedSender::PacedSender( 22 PacedSender::PacedSender(
30 base::TickClock* clock, 23 base::TickClock* clock,
31 const CastTransportConfig* const config, 24 const CastTransportConfig* const config,
32 PacketSender* external_transport, 25 PacketSender* external_transport,
33 const scoped_refptr<base::TaskRunner>& transport_task_runner, 26 const scoped_refptr<base::TaskRunner>& transport_task_runner,
34 const CastTransportStatusCallback& status_callback) 27 const CastTransportStatusCallback& status_callback)
35 : clock_(clock), 28 : clock_(clock),
36 external_transport_(external_transport), 29 external_transport_(external_transport),
37 config_(config), 30 config_(config),
38 transport_task_runner_(transport_task_runner), 31 transport_task_runner_(transport_task_runner),
39 burst_size_(1), 32 burst_size_(1),
40 packets_sent_in_burst_(0), 33 packets_sent_in_burst_(0),
41 weak_factory_(this) { 34 weak_factory_(this) {
42 if (!external_transport) { 35 if (!external_transport) {
43 net::IPEndPoint local_end_point; 36 net::IPEndPoint local_end_point;
44 net::IPEndPoint receiver_end_point; 37 net::IPEndPoint receiver_end_point;
45 CreateUDPAddress(config_->local_ip_address, config_->receive_port,
46 &local_end_point);
47 CreateUDPAddress(config_->receiver_ip_address, config_->send_port,
48 &receiver_end_point);
49 // Set up transport in the absence of an external transport. 38 // Set up transport in the absence of an external transport.
50 transport_.reset(new UdpTransport(transport_task_runner, 39 transport_.reset(new UdpTransport(transport_task_runner,
51 local_end_point, 40 config_->local_endpoint,
52 receiver_end_point, 41 config_->receiver_endpoint,
53 status_callback)); 42 status_callback));
54 } 43 }
55 ScheduleNextSend(); 44 ScheduleNextSend();
56 } 45 }
57 46
58 PacedSender::~PacedSender() {} 47 PacedSender::~PacedSender() {}
59 48
60 void PacedSender::SetPacketReceiver( 49 void PacedSender::SetPacketReceiver(
61 const PacketReceiverCallback& packet_receiver) { 50 const PacketReceiverCallback& packet_receiver) {
62 DCHECK(!external_transport_); 51 DCHECK(!external_transport_);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 burst_size_); 172 burst_size_);
184 } 173 }
185 174
186 void PacedSender::InsertFakeTransportForTesting(PacketSender* fake_transport) { 175 void PacedSender::InsertFakeTransportForTesting(PacketSender* fake_transport) {
187 external_transport_ = fake_transport; 176 external_transport_ = fake_transport;
188 } 177 }
189 178
190 } // namespace transport 179 } // namespace transport
191 } // namespace cast 180 } // namespace cast
192 } // namespace media 181 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/transport/cast_transport_config.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698