OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "base/test/simple_test_tick_clock.h" | 10 #include "base/test/simple_test_tick_clock.h" |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 scoped_ptr<StrictMock<MockDemuxerStream> > stream( | 159 scoped_ptr<StrictMock<MockDemuxerStream> > stream( |
160 new StrictMock<MockDemuxerStream>(type)); | 160 new StrictMock<MockDemuxerStream>(type)); |
161 return stream.Pass(); | 161 return stream.Pass(); |
162 } | 162 } |
163 | 163 |
164 // Sets up expectations to allow the video renderer to initialize. | 164 // Sets up expectations to allow the video renderer to initialize. |
165 void SetRendererExpectations() { | 165 void SetRendererExpectations() { |
166 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) | 166 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) |
167 .WillOnce(DoAll(SaveArg<2>(&ended_cb_), | 167 .WillOnce(DoAll(SaveArg<2>(&ended_cb_), |
168 SaveArg<4>(&buffering_state_cb_), | 168 SaveArg<4>(&buffering_state_cb_), |
169 RunCallback<0>(PIPELINE_OK))); | 169 RunCallback<0>())); |
170 EXPECT_CALL(*renderer_, HasAudio()).WillRepeatedly(Return(audio_stream())); | 170 EXPECT_CALL(*renderer_, HasAudio()).WillRepeatedly(Return(audio_stream())); |
171 EXPECT_CALL(*renderer_, HasVideo()).WillRepeatedly(Return(video_stream())); | 171 EXPECT_CALL(*renderer_, HasVideo()).WillRepeatedly(Return(video_stream())); |
172 } | 172 } |
173 | 173 |
174 void AddTextStream() { | 174 void AddTextStream() { |
175 EXPECT_CALL(*this, OnAddTextTrack(_,_)) | 175 EXPECT_CALL(*this, OnAddTextTrack(_,_)) |
176 .WillOnce(Invoke(this, &PipelineTest::DoOnAddTextTrack)); | 176 .WillOnce(Invoke(this, &PipelineTest::DoOnAddTextTrack)); |
177 static_cast<DemuxerHost*>(pipeline_.get())->AddTextStream(text_stream(), | 177 static_cast<DemuxerHost*>(pipeline_.get())->AddTextStream(text_stream(), |
178 TextTrackConfig(kTextSubtitles, "", "", "")); | 178 TextTrackConfig(kTextSubtitles, "", "", "")); |
179 message_loop_.RunUntilIdle(); | 179 message_loop_.RunUntilIdle(); |
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
823 streams.push_back(video_stream()); | 823 streams.push_back(video_stream()); |
824 SetDemuxerExpectations(&streams, base::TimeDelta::FromSeconds(3000)); | 824 SetDemuxerExpectations(&streams, base::TimeDelta::FromSeconds(3000)); |
825 | 825 |
826 EXPECT_CALL(*renderer_, HasAudio()).WillRepeatedly(Return(true)); | 826 EXPECT_CALL(*renderer_, HasAudio()).WillRepeatedly(Return(true)); |
827 EXPECT_CALL(*renderer_, HasVideo()).WillRepeatedly(Return(true)); | 827 EXPECT_CALL(*renderer_, HasVideo()).WillRepeatedly(Return(true)); |
828 | 828 |
829 if (state == kInitRenderer) { | 829 if (state == kInitRenderer) { |
830 if (stop_or_error == kStop) { | 830 if (stop_or_error == kStop) { |
831 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) | 831 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) |
832 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), | 832 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), |
833 RunCallback<0>(PIPELINE_OK))); | 833 RunCallback<0>())); |
834 ExpectPipelineStopAndDestroyPipeline(); | 834 ExpectPipelineStopAndDestroyPipeline(); |
835 } else { | 835 } else { |
836 status = PIPELINE_ERROR_INITIALIZATION_FAILED; | 836 status = PIPELINE_ERROR_INITIALIZATION_FAILED; |
837 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) | 837 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) |
838 .WillOnce(RunCallback<0>(status)); | 838 .WillOnce(DoAll(RunCallback<3>(status), RunCallback<0>())); |
839 } | 839 } |
840 | 840 |
841 EXPECT_CALL(*demuxer_, Stop()); | 841 EXPECT_CALL(*demuxer_, Stop()); |
842 return status; | 842 return status; |
843 } | 843 } |
844 | 844 |
845 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) | 845 EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _)) |
846 .WillOnce(DoAll(SaveArg<4>(&buffering_state_cb_), | 846 .WillOnce(DoAll(SaveArg<4>(&buffering_state_cb_), |
847 RunCallback<0>(PIPELINE_OK))); | 847 RunCallback<0>())); |
848 | 848 |
849 EXPECT_CALL(callbacks_, OnMetadata(_)); | 849 EXPECT_CALL(callbacks_, OnMetadata(_)); |
850 | 850 |
851 // If we get here it's a successful initialization. | 851 // If we get here it's a successful initialization. |
852 EXPECT_CALL(*renderer_, SetPlaybackRate(0.0f)); | 852 EXPECT_CALL(*renderer_, SetPlaybackRate(0.0f)); |
853 EXPECT_CALL(*renderer_, SetVolume(1.0f)); | 853 EXPECT_CALL(*renderer_, SetVolume(1.0f)); |
854 EXPECT_CALL(*renderer_, StartPlayingFrom(base::TimeDelta())) | 854 EXPECT_CALL(*renderer_, StartPlayingFrom(base::TimeDelta())) |
855 .WillOnce(SetBufferingState(&buffering_state_cb_, | 855 .WillOnce(SetBufferingState(&buffering_state_cb_, |
856 BUFFERING_HAVE_ENOUGH)); | 856 BUFFERING_HAVE_ENOUGH)); |
857 | 857 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
974 | 974 |
975 INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer); | 975 INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer); |
976 INSTANTIATE_TEARDOWN_TEST(Error, InitRenderer); | 976 INSTANTIATE_TEARDOWN_TEST(Error, InitRenderer); |
977 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); | 977 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); |
978 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); | 978 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); |
979 INSTANTIATE_TEARDOWN_TEST(Error, Playing); | 979 INSTANTIATE_TEARDOWN_TEST(Error, Playing); |
980 | 980 |
981 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); | 981 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); |
982 | 982 |
983 } // namespace media | 983 } // namespace media |
OLD | NEW |