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

Side by Side Diff: media/filters/renderer_impl_unittest.cc

Issue 692323002: Move Liveness from DemuxerStreamProvider to DemuxerStream. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix mojo Created 6 years, 1 month 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
« no previous file with comments | « media/filters/renderer_impl.cc ('k') | media/filters/video_decoder_selector_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <vector> 5 #include <vector>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/test/simple_test_tick_clock.h" 10 #include "base/test/simple_test_tick_clock.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 audio_renderer_(new StrictMock<MockAudioRenderer>()), 61 audio_renderer_(new StrictMock<MockAudioRenderer>()),
62 renderer_impl_( 62 renderer_impl_(
63 new RendererImpl(message_loop_.message_loop_proxy(), 63 new RendererImpl(message_loop_.message_loop_proxy(),
64 scoped_ptr<AudioRenderer>(audio_renderer_), 64 scoped_ptr<AudioRenderer>(audio_renderer_),
65 scoped_ptr<VideoRenderer>(video_renderer_))) { 65 scoped_ptr<VideoRenderer>(video_renderer_))) {
66 // SetDemuxerExpectations() adds overriding expectations for expected 66 // SetDemuxerExpectations() adds overriding expectations for expected
67 // non-NULL streams. 67 // non-NULL streams.
68 DemuxerStream* null_pointer = NULL; 68 DemuxerStream* null_pointer = NULL;
69 EXPECT_CALL(*demuxer_, GetStream(_)) 69 EXPECT_CALL(*demuxer_, GetStream(_))
70 .WillRepeatedly(Return(null_pointer)); 70 .WillRepeatedly(Return(null_pointer));
71 EXPECT_CALL(*demuxer_, GetLiveness())
72 .WillRepeatedly(Return(Demuxer::LIVENESS_UNKNOWN));
73 } 71 }
74 72
75 virtual ~RendererImplTest() { 73 virtual ~RendererImplTest() {
76 renderer_impl_.reset(); 74 renderer_impl_.reset();
77 base::RunLoop().RunUntilIdle(); 75 base::RunLoop().RunUntilIdle();
78 } 76 }
79 77
80 protected: 78 protected:
81 typedef std::vector<MockDemuxerStream*> MockDemuxerStreamVector; 79 typedef std::vector<MockDemuxerStream*> MockDemuxerStreamVector;
82 80
(...skipping 10 matching lines...) Expand all
93 Initialize(audio_stream_.get(), _, _, _, _, _)) 91 Initialize(audio_stream_.get(), _, _, _, _, _))
94 .WillOnce(DoAll(SaveArg<3>(&audio_buffering_state_cb_), 92 .WillOnce(DoAll(SaveArg<3>(&audio_buffering_state_cb_),
95 SaveArg<4>(&audio_ended_cb_), 93 SaveArg<4>(&audio_ended_cb_),
96 SaveArg<5>(&audio_error_cb_), 94 SaveArg<5>(&audio_error_cb_),
97 RunCallback<1>(status))); 95 RunCallback<1>(status)));
98 } 96 }
99 97
100 // Sets up expectations to allow the video renderer to initialize. 98 // Sets up expectations to allow the video renderer to initialize.
101 void SetVideoRendererInitializeExpectations(PipelineStatus status) { 99 void SetVideoRendererInitializeExpectations(PipelineStatus status) {
102 EXPECT_CALL(*video_renderer_, 100 EXPECT_CALL(*video_renderer_,
103 Initialize(video_stream_.get(), _, _, _, _, _, _, _, _)) 101 Initialize(video_stream_.get(), _, _, _, _, _, _, _))
104 .WillOnce(DoAll(SaveArg<4>(&video_buffering_state_cb_), 102 .WillOnce(DoAll(SaveArg<3>(&video_buffering_state_cb_),
105 SaveArg<6>(&video_ended_cb_), 103 SaveArg<5>(&video_ended_cb_),
106 RunCallback<2>(status))); 104 RunCallback<1>(status)));
107 } 105 }
108 106
109 void InitializeAndExpect(PipelineStatus start_status) { 107 void InitializeAndExpect(PipelineStatus start_status) {
110 if (start_status != PIPELINE_OK) 108 if (start_status != PIPELINE_OK)
111 EXPECT_CALL(callbacks_, OnError(start_status)); 109 EXPECT_CALL(callbacks_, OnError(start_status));
112 110
113 EXPECT_CALL(callbacks_, OnInitialize()); 111 EXPECT_CALL(callbacks_, OnInitialize());
114 112
115 if (start_status == PIPELINE_OK && audio_stream_) { 113 if (start_status == PIPELINE_OK && audio_stream_) {
116 EXPECT_CALL(*audio_renderer_, GetTimeSource()) 114 EXPECT_CALL(*audio_renderer_, GetTimeSource())
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 audio_error_cb_.Run(PIPELINE_ERROR_DECODE); 431 audio_error_cb_.Run(PIPELINE_ERROR_DECODE);
434 base::RunLoop().RunUntilIdle(); 432 base::RunLoop().RunUntilIdle();
435 } 433 }
436 434
437 TEST_F(RendererImplTest, ErrorDuringInitialize) { 435 TEST_F(RendererImplTest, ErrorDuringInitialize) {
438 CreateAudioAndVideoStream(); 436 CreateAudioAndVideoStream();
439 SetAudioRendererInitializeExpectations(PIPELINE_OK); 437 SetAudioRendererInitializeExpectations(PIPELINE_OK);
440 438
441 // Force an audio error to occur during video renderer initialization. 439 // Force an audio error to occur during video renderer initialization.
442 EXPECT_CALL(*video_renderer_, 440 EXPECT_CALL(*video_renderer_,
443 Initialize(video_stream_.get(), _, _, _, _, _, _, _, _)) 441 Initialize(video_stream_.get(), _, _, _, _, _, _, _))
444 .WillOnce(DoAll(AudioError(&audio_error_cb_, PIPELINE_ERROR_DECODE), 442 .WillOnce(DoAll(AudioError(&audio_error_cb_, PIPELINE_ERROR_DECODE),
445 SaveArg<4>(&video_buffering_state_cb_), 443 SaveArg<3>(&video_buffering_state_cb_),
446 SaveArg<6>(&video_ended_cb_), 444 SaveArg<5>(&video_ended_cb_),
447 RunCallback<2>(PIPELINE_OK))); 445 RunCallback<1>(PIPELINE_OK)));
448 446
449 InitializeAndExpect(PIPELINE_ERROR_DECODE); 447 InitializeAndExpect(PIPELINE_ERROR_DECODE);
450 } 448 }
451 449
452 } // namespace media 450 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/renderer_impl.cc ('k') | media/filters/video_decoder_selector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698