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

Side by Side Diff: media/remoting/remote_renderer_impl_unittest.cc

Issue 2491043003: MediaResource refactoring to support multiple streams (Closed)
Patch Set: rebase Created 3 years, 11 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/remoting/remote_renderer_impl.h" 5 #include "media/remoting/remote_renderer_impl.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "media/base/pipeline_status.h" 10 #include "media/base/pipeline_status.h"
11 #include "media/base/test_helpers.h" 11 #include "media/base/test_helpers.h"
12 #include "media/remoting/fake_remoting_controller.h" 12 #include "media/remoting/fake_remoting_controller.h"
13 #include "media/remoting/fake_remoting_demuxer_stream_provider.h" 13 #include "media/remoting/fake_remoting_media_resource.h"
14 #include "media/remoting/remoting_renderer_controller.h" 14 #include "media/remoting/remoting_renderer_controller.h"
15 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 17
18 using testing::_; 18 using testing::_;
19 using testing::Invoke; 19 using testing::Invoke;
20 using testing::Return; 20 using testing::Return;
21 21
22 namespace media { 22 namespace media {
23 23
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 std::unique_ptr<remoting::pb::RpcMessage> rpc( 211 std::unique_ptr<remoting::pb::RpcMessage> rpc(
212 new remoting::pb::RpcMessage()); 212 new remoting::pb::RpcMessage());
213 ASSERT_TRUE(rpc->ParseFromArray(message->data(), message->size())); 213 ASSERT_TRUE(rpc->ParseFromArray(message->data(), message->size()));
214 received_rpc_.push_back(std::move(rpc)); 214 received_rpc_.push_back(std::move(rpc));
215 } 215 }
216 216
217 protected: 217 protected:
218 void InitializeRenderer() { 218 void InitializeRenderer() {
219 // Register media::RendererClient implementation. 219 // Register media::RendererClient implementation.
220 render_client_.reset(new RendererClientImpl()); 220 render_client_.reset(new RendererClientImpl());
221 demuxer_stream_provider_.reset(new FakeRemotingDemuxerStreamProvider()); 221 media_resource_.reset(new FakeRemotingMediaResource());
222 EXPECT_CALL(*render_client_, OnPipelineStatus(_)).Times(1); 222 EXPECT_CALL(*render_client_, OnPipelineStatus(_)).Times(1);
223 DCHECK(remote_renderer_impl_); 223 DCHECK(remote_renderer_impl_);
224 // Redirect RPC message for simulate receiver scenario 224 // Redirect RPC message for simulate receiver scenario
225 remoting_renderer_controller_->GetRpcBroker()->SetMessageCallbackForTesting( 225 remoting_renderer_controller_->GetRpcBroker()->SetMessageCallbackForTesting(
226 base::Bind(&RemoteRendererImplTest::RpcMessageResponseBot, 226 base::Bind(&RemoteRendererImplTest::RpcMessageResponseBot,
227 base::Unretained(this))); 227 base::Unretained(this)));
228 RunPendingTasks(); 228 RunPendingTasks();
229 remote_renderer_impl_->Initialize( 229 remote_renderer_impl_->Initialize(
230 demuxer_stream_provider_.get(), render_client_.get(), 230 media_resource_.get(), render_client_.get(),
231 base::Bind(&RendererClientImpl::OnPipelineStatus, 231 base::Bind(&RendererClientImpl::OnPipelineStatus,
232 base::Unretained(render_client_.get()))); 232 base::Unretained(render_client_.get())));
233 RunPendingTasks(); 233 RunPendingTasks();
234 // Redirect RPC message back to save for later check. 234 // Redirect RPC message back to save for later check.
235 remoting_renderer_controller_->GetRpcBroker()->SetMessageCallbackForTesting( 235 remoting_renderer_controller_->GetRpcBroker()->SetMessageCallbackForTesting(
236 base::Bind(&RemoteRendererImplTest::OnSendMessageToSink, 236 base::Bind(&RemoteRendererImplTest::OnSendMessageToSink,
237 base::Unretained(this))); 237 base::Unretained(this)));
238 RunPendingTasks(); 238 RunPendingTasks();
239 } 239 }
240 240
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 284
285 void ValidateCurrentTime(base::TimeDelta current, 285 void ValidateCurrentTime(base::TimeDelta current,
286 base::TimeDelta current_max) const { 286 base::TimeDelta current_max) const {
287 ASSERT_EQ(remote_renderer_impl_->current_media_time_, current); 287 ASSERT_EQ(remote_renderer_impl_->current_media_time_, current);
288 ASSERT_EQ(remote_renderer_impl_->current_max_time_, current_max); 288 ASSERT_EQ(remote_renderer_impl_->current_max_time_, current_max);
289 } 289 }
290 290
291 base::MessageLoop message_loop_; 291 base::MessageLoop message_loop_;
292 std::unique_ptr<RemotingRendererController> remoting_renderer_controller_; 292 std::unique_ptr<RemotingRendererController> remoting_renderer_controller_;
293 std::unique_ptr<RendererClientImpl> render_client_; 293 std::unique_ptr<RendererClientImpl> render_client_;
294 std::unique_ptr<FakeRemotingDemuxerStreamProvider> demuxer_stream_provider_; 294 std::unique_ptr<FakeRemotingMediaResource> media_resource_;
295 std::unique_ptr<RemoteRendererImpl> remote_renderer_impl_; 295 std::unique_ptr<RemoteRendererImpl> remote_renderer_impl_;
296 296
297 // RPC handles. 297 // RPC handles.
298 const int receiver_renderer_handle_; 298 const int receiver_renderer_handle_;
299 const int receiver_audio_demuxer_callback_handle_; 299 const int receiver_audio_demuxer_callback_handle_;
300 const int receiver_video_demuxer_callback_handle_; 300 const int receiver_video_demuxer_callback_handle_;
301 int sender_client_handle_; 301 int sender_client_handle_;
302 int sender_renderer_callback_handle_; 302 int sender_renderer_callback_handle_;
303 int sender_audio_demuxer_handle_; 303 int sender_audio_demuxer_handle_;
304 int sender_video_demuxer_handle_; 304 int sender_video_demuxer_handle_;
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 rpc->set_handle(5); 558 rpc->set_handle(5);
559 rpc->set_proc(remoting::pb::RpcMessage::RPC_RC_ONDURATIONCHANGE); 559 rpc->set_proc(remoting::pb::RpcMessage::RPC_RC_ONDURATIONCHANGE);
560 rpc->set_integer64_value(-345); 560 rpc->set_integer64_value(-345);
561 OnReceivedRpc(std::move(rpc)); 561 OnReceivedRpc(std::move(rpc));
562 RunPendingTasks(); 562 RunPendingTasks();
563 } 563 }
564 564
565 // TODO(xjz): Tests for detecting PACING_TOO_SLOWLY and FRAME_DROP_RATE_HIGH. 565 // TODO(xjz): Tests for detecting PACING_TOO_SLOWLY and FRAME_DROP_RATE_HIGH.
566 566
567 } // namespace media 567 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698