Index: media/cast/test/cast_benchmarks.cc |
diff --git a/media/cast/test/cast_benchmarks.cc b/media/cast/test/cast_benchmarks.cc |
index cb6687161332fc19817283bbfa246df20f4399c0..c97bfc6ee97740b2dc8a611e3594e01e78689b26 100644 |
--- a/media/cast/test/cast_benchmarks.cc |
+++ b/media/cast/test/cast_benchmarks.cc |
@@ -152,6 +152,27 @@ class CastTransportSenderWrapper : public CastTransportSender { |
return transport_->PacketReceiverForTesting(); |
} |
+ void AddValidSsrc(uint32 ssrc) override { |
+ return transport_->AddValidSsrc(ssrc); |
+ } |
+ |
+ void SendRtcpFromRtpReceiver( |
+ uint32 ssrc, |
+ uint32 sender_ssrc, |
+ const RtcpTimeData& time_data, |
+ const RtcpCastMessage* cast_message, |
+ base::TimeDelta target_delay, |
+ const ReceiverRtcpEventSubscriber::RtcpEvents* rtcp_events, |
+ const RtpReceiverStatistics* rtp_receiver_statistics) override { |
+ return transport_->SendRtcpFromRtpReceiver(ssrc, |
+ sender_ssrc, |
+ time_data, |
+ cast_message, |
+ target_delay, |
+ rtcp_events, |
+ rtp_receiver_statistics); |
+ } |
+ |
private: |
scoped_ptr<CastTransportSender> transport_; |
uint32 audio_ssrc_, video_ssrc_; |
@@ -286,25 +307,42 @@ class RunOneBenchmark { |
} |
void Create(const MeasuringPoint& p) { |
- cast_receiver_ = CastReceiver::Create(cast_environment_receiver_, |
- audio_receiver_config_, |
- video_receiver_config_, |
- &receiver_to_sender_); |
net::IPEndPoint dummy_endpoint; |
transport_sender_.Init( |
new CastTransportSenderImpl( |
NULL, |
testing_clock_sender_, |
dummy_endpoint, |
+ dummy_endpoint, |
make_scoped_ptr(new base::DictionaryValue), |
base::Bind(&UpdateCastTransportStatus), |
base::Bind(&IgnoreRawEvents), |
base::TimeDelta::FromSeconds(1), |
task_runner_sender_, |
+ PacketReceiverCallback(), |
&sender_to_receiver_), |
&video_bytes_encoded_, |
&audio_bytes_encoded_); |
+ transport_receiver_.reset( |
+ new CastTransportSenderImpl( |
+ NULL, |
+ testing_clock_receiver_, |
+ dummy_endpoint, |
+ dummy_endpoint, |
+ make_scoped_ptr(new base::DictionaryValue), |
+ base::Bind(&UpdateCastTransportStatus), |
+ base::Bind(&IgnoreRawEvents), |
+ base::TimeDelta::FromSeconds(1), |
+ task_runner_receiver_, |
+ base::Bind(&RunOneBenchmark::ReceivePacket, base::Unretained(this)), |
+ &receiver_to_sender_)); |
+ |
+ cast_receiver_ = CastReceiver::Create(cast_environment_receiver_, |
+ audio_receiver_config_, |
+ video_receiver_config_, |
+ transport_receiver_.get()); |
+ |
cast_sender_ = |
CastSender::Create(cast_environment_sender_, &transport_sender_); |
@@ -321,10 +359,15 @@ class RunOneBenchmark { |
transport_sender_.PacketReceiverForTesting(), |
task_runner_, &testing_clock_); |
sender_to_receiver_.Initialize( |
- CreateSimplePipe(p).Pass(), cast_receiver_->packet_receiver(), |
+ CreateSimplePipe(p).Pass(), |
+ transport_receiver_->PacketReceiverForTesting(), |
task_runner_, &testing_clock_); |
} |
+ void ReceivePacket(scoped_ptr<Packet> packet) { |
+ cast_receiver_->ReceivePacket(packet.Pass()); |
+ } |
+ |
virtual ~RunOneBenchmark() { |
cast_sender_.reset(); |
cast_receiver_.reset(); |
@@ -475,6 +518,7 @@ class RunOneBenchmark { |
LoopBackTransport receiver_to_sender_; |
LoopBackTransport sender_to_receiver_; |
CastTransportSenderWrapper transport_sender_; |
+ scoped_ptr<CastTransportSender> transport_receiver_; |
uint64 video_bytes_encoded_; |
uint64 audio_bytes_encoded_; |