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

Unified Diff: media/cast/transport/pacing/paced_sender.cc

Issue 109413004: Cast:Adding cast_transport_config and cleaning up (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Injecting TaskRunner Created 7 years 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/transport/pacing/paced_sender.cc
diff --git a/media/cast/transport/pacing/paced_sender.cc b/media/cast/transport/pacing/paced_sender.cc
index 3a342b59f34b42e41254db1f0ba87f8c81a7cdcb..5ecbc4f00145e854637cad851e71d79b8986b497 100644
--- a/media/cast/transport/pacing/paced_sender.cc
+++ b/media/cast/transport/pacing/paced_sender.cc
@@ -16,10 +16,12 @@ static const int64 kPacingIntervalMs = 10;
// bursts of packets.
static const size_t kPacingMaxBurstsPerFrame = 3;
-PacedSender::PacedSender(scoped_refptr<CastEnvironment> cast_environment,
- PacketSender* transport)
- : cast_environment_(cast_environment),
+PacedSender::PacedSender(base::TickClock* clock,
+ PacketSender* transport,
+ scoped_refptr<base::TaskRunner> transport_thread)
+ : clock_(clock),
transport_(transport),
+ transport_thread_(transport_thread),
burst_size_(1),
packets_sent_in_burst_(0),
weak_factory_(this) {
@@ -29,24 +31,15 @@ PacedSender::PacedSender(scoped_refptr<CastEnvironment> cast_environment,
PacedSender::~PacedSender() {}
bool PacedSender::SendPackets(const PacketList& packets) {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
- base::TimeTicks now = cast_environment_->Clock()->NowTicks();
- cast_environment_->Logging()->InsertPacketListEvent(now, kPacketSentToPacer,
- packets);
return SendPacketsToTransport(packets, &packet_list_);
}
bool PacedSender::ResendPackets(const PacketList& packets) {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
- base::TimeTicks now = cast_environment_->Clock()->NowTicks();
- cast_environment_->Logging()->InsertPacketListEvent(now, kPacketRetransmited,
- packets);
return SendPacketsToTransport(packets, &resend_packet_list_);
}
bool PacedSender::SendPacketsToTransport(const PacketList& packets,
PacketList* packets_not_sent) {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
UpdateBurstSize(packets.size());
if (!packets_not_sent->empty()) {
@@ -71,39 +64,32 @@ bool PacedSender::SendPacketsToTransport(const PacketList& packets,
packets_sent_in_burst_ += packets_to_send.size();
if (packets_to_send.empty()) return true;
- base::TimeTicks now = cast_environment_->Clock()->NowTicks();
- cast_environment_->Logging()->InsertPacketListEvent(now, kPacketSentToNetwork,
- packets);
return transport_->SendPackets(packets_to_send);
}
bool PacedSender::SendRtcpPacket(const Packet& packet) {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
// We pass the RTCP packets straight through.
return transport_->SendPacket(packet);
}
void PacedSender::ScheduleNextSend() {
base::TimeDelta time_to_next = time_last_process_ -
- cast_environment_->Clock()->NowTicks() +
- base::TimeDelta::FromMilliseconds(kPacingIntervalMs);
+ clock_->NowTicks() + base::TimeDelta::FromMilliseconds(kPacingIntervalMs);
time_to_next = std::max(time_to_next, base::TimeDelta());
- cast_environment_->PostDelayedTask(CastEnvironment::MAIN, FROM_HERE,
+ transport_thread_->PostDelayedTask(FROM_HERE,
base::Bind(&PacedSender::SendNextPacketBurst, weak_factory_.GetWeakPtr()),
- time_to_next);
+ time_to_next);
}
void PacedSender::SendNextPacketBurst() {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
SendStoredPackets();
- time_last_process_ = cast_environment_->Clock()->NowTicks();
+ time_last_process_ = clock_->NowTicks();
ScheduleNextSend();
}
void PacedSender::SendStoredPackets() {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
if (packet_list_.empty() && resend_packet_list_.empty()) return;
size_t packets_to_send = burst_size_;
@@ -139,7 +125,6 @@ void PacedSender::SendStoredPackets() {
}
void PacedSender::UpdateBurstSize(size_t packets_to_send) {
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
packets_to_send = std::max(packets_to_send,
resend_packet_list_.size() + packet_list_.size());

Powered by Google App Engine
This is Rietveld 408576698