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

Unified Diff: media/cast/test/cast_benchmarks.cc

Issue 1515023002: Simplify interface for media/cast: CastTransportSenderImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/cast/sender/video_sender_unittest.cc ('k') | media/cast/test/end2end_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cast/test/cast_benchmarks.cc
diff --git a/media/cast/test/cast_benchmarks.cc b/media/cast/test/cast_benchmarks.cc
index 29e2d41d31080ec17554ae403420852775769fae..3d3950e5a42c4b70e88ea652fb836dbaa86e527b 100644
--- a/media/cast/test/cast_benchmarks.cc
+++ b/media/cast/test/cast_benchmarks.cc
@@ -71,12 +71,6 @@ namespace {
static const int64_t kStartMillisecond = INT64_C(1245);
static const int kTargetPlayoutDelayMs = 400;
-void UpdateCastTransportStatus(CastTransportStatus status) {
- bool result = (status == TRANSPORT_AUDIO_INITIALIZED ||
- status == TRANSPORT_VIDEO_INITIALIZED);
- EXPECT_TRUE(result);
-}
-
void ExpectVideoSuccess(OperationalStatus status) {
EXPECT_EQ(STATUS_INITIALIZED, status);
}
@@ -85,9 +79,6 @@ void ExpectAudioSuccess(OperationalStatus status) {
EXPECT_EQ(STATUS_INITIALIZED, status);
}
-void IgnoreRawEvents(scoped_ptr<std::vector<FrameEvent>> frame_events,
- scoped_ptr<std::vector<PacketEvent>> packet_events) {}
-
} // namespace
// Wraps a CastTransportSender and records some statistics about
@@ -168,6 +159,8 @@ class CastTransportSenderWrapper : public CastTransportSender {
rtp_receiver_statistics);
}
+ void SetOptions(const base::DictionaryValue& options) final {}
+
private:
scoped_ptr<CastTransportSender> transport_;
uint32_t audio_ssrc_, video_ssrc_;
@@ -220,8 +213,6 @@ class RunOneBenchmark {
task_runner_receiver_,
task_runner_receiver_,
task_runner_receiver_)),
- receiver_to_sender_(cast_environment_receiver_),
- sender_to_receiver_(cast_environment_sender_),
video_bytes_encoded_(0),
audio_bytes_encoded_(0),
frames_sent_(0) {
@@ -269,64 +260,7 @@ class RunOneBenchmark {
task_runner_receiver_->SetSkew(1.0 / skew);
}
- void Create(const MeasuringPoint& p) {
- 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_);
-
- cast_sender_->InitializeAudio(
- audio_sender_config_,
- base::Bind(&ExpectAudioSuccess));
- cast_sender_->InitializeVideo(
- video_sender_config_,
- base::Bind(&ExpectVideoSuccess),
- CreateDefaultVideoEncodeAcceleratorCallback(),
- CreateDefaultVideoEncodeMemoryCallback());
-
- receiver_to_sender_.Initialize(CreateSimplePipe(p),
- transport_sender_.PacketReceiverForTesting(),
- task_runner_, &testing_clock_);
- sender_to_receiver_.Initialize(
- CreateSimplePipe(p), transport_receiver_->PacketReceiverForTesting(),
- task_runner_, &testing_clock_);
-
- task_runner_->RunTasks();
- }
+ void Create(const MeasuringPoint& p);
void ReceivePacket(scoped_ptr<Packet> packet) {
cast_receiver_->ReceivePacket(std::move(packet));
@@ -484,8 +418,8 @@ class RunOneBenchmark {
scoped_refptr<CastEnvironment> cast_environment_sender_;
scoped_refptr<CastEnvironment> cast_environment_receiver_;
- LoopBackTransport receiver_to_sender_;
- LoopBackTransport sender_to_receiver_;
+ LoopBackTransport* receiver_to_sender_; // Owned by CastTransportSenderImpl.
+ LoopBackTransport* sender_to_receiver_; // Owned by CastTransportSenderImpl.
CastTransportSenderWrapper transport_sender_;
scoped_ptr<CastTransportSender> transport_receiver_;
uint64_t video_bytes_encoded_;
@@ -501,6 +435,73 @@ class RunOneBenchmark {
std::vector<std::pair<base::TimeTicks, base::TimeTicks> > video_ticks_;
};
+namespace {
+
+class TransportClient : public CastTransportSender::Client {
+ public:
+ explicit TransportClient(RunOneBenchmark* run_one_benchmark)
+ : run_one_benchmark_(run_one_benchmark) {}
+
+ void OnStatusChanged(CastTransportStatus status) final {
+ bool result = (status == TRANSPORT_AUDIO_INITIALIZED ||
+ status == TRANSPORT_VIDEO_INITIALIZED);
+ EXPECT_TRUE(result);
+ };
+ void OnLoggingEventsReceived(
+ scoped_ptr<std::vector<FrameEvent>> frame_events,
+ scoped_ptr<std::vector<PacketEvent>> packet_events) final{};
+ void ProcessRtpPacket(scoped_ptr<Packet> packet) final {
+ if (run_one_benchmark_)
+ run_one_benchmark_->ReceivePacket(std::move(packet));
+ };
+
+ private:
+ RunOneBenchmark* const run_one_benchmark_;
+
+ DISALLOW_COPY_AND_ASSIGN(TransportClient);
+};
+
+} // namepspace
+
+void RunOneBenchmark::Create(const MeasuringPoint& p) {
+ sender_to_receiver_ = new LoopBackTransport(cast_environment_sender_);
+ transport_sender_.Init(
+ new CastTransportSenderImpl(
+ testing_clock_sender_, base::TimeDelta::FromSeconds(1),
+ make_scoped_ptr(new TransportClient(nullptr)),
+ make_scoped_ptr(sender_to_receiver_), task_runner_sender_),
+ &video_bytes_encoded_, &audio_bytes_encoded_);
+
+ receiver_to_sender_ = new LoopBackTransport(cast_environment_receiver_);
+ transport_receiver_.reset(new CastTransportSenderImpl(
+ testing_clock_receiver_, base::TimeDelta::FromSeconds(1),
+ make_scoped_ptr(new TransportClient(this)),
+ make_scoped_ptr(receiver_to_sender_), task_runner_receiver_));
+
+ 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_);
+
+ cast_sender_->InitializeAudio(audio_sender_config_,
+ base::Bind(&ExpectAudioSuccess));
+ cast_sender_->InitializeVideo(video_sender_config_,
+ base::Bind(&ExpectVideoSuccess),
+ CreateDefaultVideoEncodeAcceleratorCallback(),
+ CreateDefaultVideoEncodeMemoryCallback());
+
+ receiver_to_sender_->Initialize(CreateSimplePipe(p),
+ transport_sender_.PacketReceiverForTesting(),
+ task_runner_, &testing_clock_);
+ sender_to_receiver_->Initialize(
+ CreateSimplePipe(p), transport_receiver_->PacketReceiverForTesting(),
+ task_runner_, &testing_clock_);
+
+ task_runner_->RunTasks();
+}
+
enum CacheResult { FOUND_TRUE, FOUND_FALSE, NOT_FOUND };
template <class T>
« no previous file with comments | « media/cast/sender/video_sender_unittest.cc ('k') | media/cast/test/end2end_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698