summaryrefslogtreecommitdiffstats
path: root/media/cast
diff options
context:
space:
mode:
authorhubbe@chromium.org <hubbe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-25 01:39:12 +0000
committerhubbe@chromium.org <hubbe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-25 01:39:12 +0000
commit5c6d0ccf1bca276fe7827b11c908b72183212e94 (patch)
treed4ac568d8c1da998e7631b5bfbc596e012a78e1b /media/cast
parent675fd2131c37b1e6299c308a556f40c6a2f1be72 (diff)
downloadchromium_src-5c6d0ccf1bca276fe7827b11c908b72183212e94.zip
chromium_src-5c6d0ccf1bca276fe7827b11c908b72183212e94.tar.gz
chromium_src-5c6d0ccf1bca276fe7827b11c908b72183212e94.tar.bz2
Cast: Get rid of SendPackets in PacketSender.
Next step is to use a callback instead of a PacketSender as PacketSender is now a single-method interface. Review URL: https://codereview.chromium.org/143003018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247057 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/cast')
-rw-r--r--media/cast/audio_sender/audio_sender_unittest.cc6
-rw-r--r--media/cast/rtcp/rtcp_unittest.cc4
-rw-r--r--media/cast/test/end2end_unittest.cc33
-rw-r--r--media/cast/transport/cast_transport_config.h2
-rw-r--r--media/cast/transport/pacing/paced_sender.cc11
-rw-r--r--media/cast/transport/pacing/paced_sender_unittest.cc15
-rw-r--r--media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer_unittest.cc24
-rw-r--r--media/cast/transport/transport/udp_transport.cc10
-rw-r--r--media/cast/transport/transport/udp_transport.h1
-rw-r--r--media/cast/video_sender/video_sender_unittest.cc11
10 files changed, 37 insertions, 80 deletions
diff --git a/media/cast/audio_sender/audio_sender_unittest.cc b/media/cast/audio_sender/audio_sender_unittest.cc
index 4fdff91..1d85771 100644
--- a/media/cast/audio_sender/audio_sender_unittest.cc
+++ b/media/cast/audio_sender/audio_sender_unittest.cc
@@ -31,14 +31,12 @@ class TestPacketSender : public transport::PacketSender {
TestPacketSender()
: number_of_rtp_packets_(0),
number_of_rtcp_packets_(0) {}
- virtual bool SendPackets(const PacketList& packets) OVERRIDE {
- number_of_rtp_packets_ += static_cast<int>(packets.size());
- return true;
- }
virtual bool SendPacket(const Packet& packet) OVERRIDE {
if (Rtcp::IsRtcpPacket(&packet[0], packet.size())) {
++number_of_rtcp_packets_;
+ } else {
+ ++number_of_rtp_packets_;
}
return true;
}
diff --git a/media/cast/rtcp/rtcp_unittest.cc b/media/cast/rtcp/rtcp_unittest.cc
index 5799062..a89ae6e 100644
--- a/media/cast/rtcp/rtcp_unittest.cc
+++ b/media/cast/rtcp/rtcp_unittest.cc
@@ -37,10 +37,6 @@ class RtcpTestPacketSender : public transport::PacketSender {
testing_clock_(testing_clock) {}
virtual ~RtcpTestPacketSender() {}
// Packet lists imply a RTP packet.
- virtual bool SendPackets(const PacketList& packets) OVERRIDE {
- return false;
- }
-
void set_rtcp_receiver(Rtcp* rtcp) { rtcp_receiver_ = rtcp; }
void set_short_delay() { short_delay_ = true; }
diff --git a/media/cast/test/end2end_unittest.cc b/media/cast/test/end2end_unittest.cc
index 88b6e34..4271a7e 100644
--- a/media/cast/test/end2end_unittest.cc
+++ b/media/cast/test/end2end_unittest.cc
@@ -90,33 +90,20 @@ class LoopBackTransport : public transport::PacketSender {
DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
if (!send_packets_) return false;
+ if (drop_packets_belonging_to_odd_frames_) {
+ uint32 frame_id = packet[13];
+ if (frame_id % 2 == 1) return true;
+ }
+
uint8* packet_copy = new uint8[packet.size()];
memcpy(packet_copy, packet.data(), packet.size());
- packet_receiver_->ReceivedPacket(packet_copy, packet.size(),
- base::Bind(transport::PacketReceiver::DeletePacket, packet_copy));
- return true;
- }
- virtual bool SendPackets(const PacketList& packets) OVERRIDE {
- DCHECK(packet_receiver_);
- DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
- if (!send_packets_) return false;
-
- for (size_t i = 0; i < packets.size(); ++i) {
- const Packet& packet = packets[i];
- if (drop_packets_belonging_to_odd_frames_) {
- uint32 frame_id = packet[13];
- if (frame_id % 2 == 1) continue;
- }
- uint8* packet_copy = new uint8[packet.size()];
- memcpy(packet_copy, packet.data(), packet.size());
- if (reset_reference_frame_id_) {
- // Reset the is_reference bit in the cast header.
- packet_copy[kCommonRtpHeaderLength] &= kCastReferenceFrameIdBitReset;
- }
- packet_receiver_->ReceivedPacket(packet_copy, packet.size(),
- base::Bind(transport::PacketReceiver::DeletePacket, packet_copy));
+ if (reset_reference_frame_id_) {
+ // Reset the is_reference bit in the cast header.
+ packet_copy[kCommonRtpHeaderLength] &= kCastReferenceFrameIdBitReset;
}
+ packet_receiver_->ReceivedPacket(packet_copy, packet.size(),
+ base::Bind(transport::PacketReceiver::DeletePacket, packet_copy));
return true;
}
diff --git a/media/cast/transport/cast_transport_config.h b/media/cast/transport/cast_transport_config.h
index fe5afc1..15015cd 100644
--- a/media/cast/transport/cast_transport_config.h
+++ b/media/cast/transport/cast_transport_config.h
@@ -111,8 +111,6 @@ class PacketSender {
public:
// All packets to be sent to the network will be delivered via these
// functions.
- virtual bool SendPackets(const transport::PacketList& packets) = 0;
-
virtual bool SendPacket(const transport::Packet& packet) = 0;
virtual ~PacketSender() {}
diff --git a/media/cast/transport/pacing/paced_sender.cc b/media/cast/transport/pacing/paced_sender.cc
index 63ac7a2..23dc11a 100644
--- a/media/cast/transport/pacing/paced_sender.cc
+++ b/media/cast/transport/pacing/paced_sender.cc
@@ -163,10 +163,15 @@ void PacedSender::SendStoredPackets() {
}
bool PacedSender::TransmitPackets(const PacketList& packets) {
- if (external_transport_) {
- return external_transport_->SendPackets(packets);
+ bool ret = true;
+ for (size_t i = 0; i < packets.size(); i++) {
+ if (external_transport_) {
+ ret &= external_transport_->SendPacket(packets[i]);
+ } else {
+ ret &= transport_->SendPacket(packets[i]);
+ }
}
- return transport_->SendPackets(packets);
+ return ret;
}
void PacedSender::UpdateBurstSize(size_t packets_to_send) {
diff --git a/media/cast/transport/pacing/paced_sender_unittest.cc b/media/cast/transport/pacing/paced_sender_unittest.cc
index a593893..aa56f9e1 100644
--- a/media/cast/transport/pacing/paced_sender_unittest.cc
+++ b/media/cast/transport/pacing/paced_sender_unittest.cc
@@ -23,18 +23,11 @@ static const int64 kStartMillisecond = GG_INT64_C(12345678900000);
class TestPacketSender : public PacketSender {
public:
- virtual bool SendPackets(const PacketList& packets) OVERRIDE {
- PacketList::const_iterator it = packets.begin();
- for (; it != packets.end(); ++it) {
- EXPECT_FALSE(expected_packet_size_.empty());
- size_t expected_packet_size = expected_packet_size_.front();
- expected_packet_size_.pop_front();
- EXPECT_EQ(expected_packet_size, it->size());
- }
- return true;
- }
-
virtual bool SendPacket(const Packet& packet) OVERRIDE {
+ EXPECT_FALSE(expected_packet_size_.empty());
+ size_t expected_packet_size = expected_packet_size_.front();
+ expected_packet_size_.pop_front();
+ EXPECT_EQ(expected_packet_size, packet.size());
return true;
}
diff --git a/media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer_unittest.cc b/media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer_unittest.cc
index 04271ab..0669b6c 100644
--- a/media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer_unittest.cc
+++ b/media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer_unittest.cc
@@ -59,25 +59,17 @@ class TestRtpPacketTransport : public PacketSender {
EXPECT_EQ(expected_frame_id_ - 1u, rtp_header.reference_frame_id);
}
- virtual bool SendPackets(const PacketList& packets) OVERRIDE {
- PacketList::const_iterator it = packets.begin();
- for (; it != packets.end(); ++it) {
- ++packets_sent_;
- RtpHeaderParser parser(it->data(), it->size());
- RtpCastTestHeader rtp_header;
- parser.Parse(&rtp_header);
- VerifyRtpHeader(rtp_header);
- ++sequence_number_;
- ++expected_packet_id_;
- }
+ virtual bool SendPacket(const transport::Packet& packet) OVERRIDE {
+ ++packets_sent_;
+ RtpHeaderParser parser(packet.data(), packet.size());
+ RtpCastTestHeader rtp_header;
+ parser.Parse(&rtp_header);
+ VerifyRtpHeader(rtp_header);
+ ++sequence_number_;
+ ++expected_packet_id_;
return true;
}
- virtual bool SendPacket(const Packet& packet) OVERRIDE {
- EXPECT_TRUE(false);
- return false;
- }
-
int number_of_packets_received() const {
return packets_sent_;
}
diff --git a/media/cast/transport/transport/udp_transport.cc b/media/cast/transport/transport/udp_transport.cc
index 9e35c9d..9b3ad3c 100644
--- a/media/cast/transport/transport/udp_transport.cc
+++ b/media/cast/transport/transport/udp_transport.cc
@@ -118,16 +118,6 @@ void UdpTransport::OnReceived(int result) {
ReceiveOnePacket();
}
-bool UdpTransport::SendPackets(const PacketList& packets) {
- DCHECK(io_thread_proxy_->RunsTasksOnCurrentThread());
-
- bool result = true;
- for (size_t i = 0; i < packets.size(); ++i) {
- result |= SendPacket(packets[i]);
- }
- return result;
-}
-
bool UdpTransport::SendPacket(const Packet& packet) {
DCHECK(io_thread_proxy_->RunsTasksOnCurrentThread());
diff --git a/media/cast/transport/transport/udp_transport.h b/media/cast/transport/transport/udp_transport.h
index 572a22f..753e032 100644
--- a/media/cast/transport/transport/udp_transport.h
+++ b/media/cast/transport/transport/udp_transport.h
@@ -43,7 +43,6 @@ class UdpTransport : public PacketSender {
void StartReceiving(PacketReceiver* packet_receiver);
// PacketSender implementations.
- virtual bool SendPackets(const PacketList& packets) OVERRIDE;
virtual bool SendPacket(const Packet& packet) OVERRIDE;
private:
diff --git a/media/cast/video_sender/video_sender_unittest.cc b/media/cast/video_sender/video_sender_unittest.cc
index 9f4a49b..8e6fe2c 100644
--- a/media/cast/video_sender/video_sender_unittest.cc
+++ b/media/cast/video_sender/video_sender_unittest.cc
@@ -38,14 +38,13 @@ class TestPacketSender : public transport::PacketSender {
: number_of_rtp_packets_(0),
number_of_rtcp_packets_(0) {}
- virtual bool SendPackets(const PacketList& packets) OVERRIDE {
- number_of_rtp_packets_ += static_cast<int>(packets.size());
- return true;
- }
-
// A singular packet implies a RTCP packet.
virtual bool SendPacket(const Packet& packet) OVERRIDE {
- ++number_of_rtcp_packets_;
+ if (Rtcp::IsRtcpPacket(&packet[0], packet.size())) {
+ ++number_of_rtcp_packets_;
+ } else {
+ ++number_of_rtp_packets_;
+ }
return true;
}