| 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 842 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 class PipelineTeardownTest : public PipelineTest { | 853 class PipelineTeardownTest : public PipelineTest { |
| 854 public: | 854 public: |
| 855 enum TeardownState { | 855 enum TeardownState { |
| 856 kInitDemuxer, | 856 kInitDemuxer, |
| 857 kInitAudioRenderer, | 857 kInitAudioRenderer, |
| 858 kInitVideoRenderer, | 858 kInitVideoRenderer, |
| 859 kPausing, | 859 kPausing, |
| 860 kFlushing, | 860 kFlushing, |
| 861 kSeeking, | 861 kSeeking, |
| 862 kPrerolling, | 862 kPrerolling, |
| 863 kStarting, | |
| 864 kPlaying, | 863 kPlaying, |
| 865 }; | 864 }; |
| 866 | 865 |
| 867 enum StopOrError { | 866 enum StopOrError { |
| 868 kStop, | 867 kStop, |
| 869 kError, | 868 kError, |
| 870 kErrorAndStop, | 869 kErrorAndStop, |
| 871 }; | 870 }; |
| 872 | 871 |
| 873 PipelineTeardownTest() {} | 872 PipelineTeardownTest() {} |
| 874 virtual ~PipelineTeardownTest() {} | 873 virtual ~PipelineTeardownTest() {} |
| 875 | 874 |
| 876 void RunTest(TeardownState state, StopOrError stop_or_error) { | 875 void RunTest(TeardownState state, StopOrError stop_or_error) { |
| 877 switch (state) { | 876 switch (state) { |
| 878 case kInitDemuxer: | 877 case kInitDemuxer: |
| 879 case kInitAudioRenderer: | 878 case kInitAudioRenderer: |
| 880 case kInitVideoRenderer: | 879 case kInitVideoRenderer: |
| 881 DoInitialize(state, stop_or_error); | 880 DoInitialize(state, stop_or_error); |
| 882 break; | 881 break; |
| 883 | 882 |
| 884 case kPausing: | 883 case kPausing: |
| 885 case kFlushing: | 884 case kFlushing: |
| 886 case kSeeking: | 885 case kSeeking: |
| 887 case kPrerolling: | 886 case kPrerolling: |
| 888 case kStarting: | |
| 889 DoInitialize(state, stop_or_error); | 887 DoInitialize(state, stop_or_error); |
| 890 DoSeek(state, stop_or_error); | 888 DoSeek(state, stop_or_error); |
| 891 break; | 889 break; |
| 892 | 890 |
| 893 case kPlaying: | 891 case kPlaying: |
| 894 DoInitialize(state, stop_or_error); | 892 DoInitialize(state, stop_or_error); |
| 895 DoStopOrError(stop_or_error); | 893 DoStopOrError(stop_or_error); |
| 896 break; | 894 break; |
| 897 } | 895 } |
| 898 } | 896 } |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1100 EXPECT_CALL(*audio_renderer_, Preroll(_, _)) | 1098 EXPECT_CALL(*audio_renderer_, Preroll(_, _)) |
| 1101 .WillOnce(RunCallback<1>(PIPELINE_OK)); | 1099 .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| 1102 EXPECT_CALL(*video_renderer_, Preroll(_, _)) | 1100 EXPECT_CALL(*video_renderer_, Preroll(_, _)) |
| 1103 .WillOnce(RunCallback<1>(PIPELINE_OK)); | 1101 .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| 1104 | 1102 |
| 1105 // Playback rate and volume are updated prior to starting. | 1103 // Playback rate and volume are updated prior to starting. |
| 1106 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); | 1104 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); |
| 1107 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f)); | 1105 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f)); |
| 1108 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); | 1106 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); |
| 1109 | 1107 |
| 1110 if (state == kStarting) { | |
| 1111 if (stop_or_error == kStop) { | |
| 1112 EXPECT_CALL(*audio_renderer_, Play()) | |
| 1113 .WillOnce(Stop(pipeline_.get(), stop_cb)); | |
| 1114 } else { | |
| 1115 status = PIPELINE_ERROR_READ; | |
| 1116 EXPECT_CALL(*audio_renderer_, Play()) | |
| 1117 .WillOnce(SetError(pipeline_.get(), status)); | |
| 1118 } | |
| 1119 return status; | |
| 1120 } | |
| 1121 | |
| 1122 NOTREACHED() << "State not supported: " << state; | 1108 NOTREACHED() << "State not supported: " << state; |
| 1123 return status; | 1109 return status; |
| 1124 } | 1110 } |
| 1125 | 1111 |
| 1126 void DoStopOrError(StopOrError stop_or_error) { | 1112 void DoStopOrError(StopOrError stop_or_error) { |
| 1127 InSequence s; | 1113 InSequence s; |
| 1128 | 1114 |
| 1129 EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>()); | 1115 EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>()); |
| 1130 EXPECT_CALL(*audio_renderer_, Stop(_)).WillOnce(RunClosure<0>()); | 1116 EXPECT_CALL(*audio_renderer_, Stop(_)).WillOnce(RunClosure<0>()); |
| 1131 EXPECT_CALL(*video_renderer_, Stop(_)).WillOnce(RunClosure<0>()); | 1117 EXPECT_CALL(*video_renderer_, Stop(_)).WillOnce(RunClosure<0>()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1161 RunTest(k##state, k##stop_or_error); \ | 1147 RunTest(k##state, k##stop_or_error); \ |
| 1162 } | 1148 } |
| 1163 | 1149 |
| 1164 INSTANTIATE_TEARDOWN_TEST(Stop, InitDemuxer); | 1150 INSTANTIATE_TEARDOWN_TEST(Stop, InitDemuxer); |
| 1165 INSTANTIATE_TEARDOWN_TEST(Stop, InitAudioRenderer); | 1151 INSTANTIATE_TEARDOWN_TEST(Stop, InitAudioRenderer); |
| 1166 INSTANTIATE_TEARDOWN_TEST(Stop, InitVideoRenderer); | 1152 INSTANTIATE_TEARDOWN_TEST(Stop, InitVideoRenderer); |
| 1167 INSTANTIATE_TEARDOWN_TEST(Stop, Pausing); | 1153 INSTANTIATE_TEARDOWN_TEST(Stop, Pausing); |
| 1168 INSTANTIATE_TEARDOWN_TEST(Stop, Flushing); | 1154 INSTANTIATE_TEARDOWN_TEST(Stop, Flushing); |
| 1169 INSTANTIATE_TEARDOWN_TEST(Stop, Seeking); | 1155 INSTANTIATE_TEARDOWN_TEST(Stop, Seeking); |
| 1170 INSTANTIATE_TEARDOWN_TEST(Stop, Prerolling); | 1156 INSTANTIATE_TEARDOWN_TEST(Stop, Prerolling); |
| 1171 INSTANTIATE_TEARDOWN_TEST(Stop, Starting); | |
| 1172 INSTANTIATE_TEARDOWN_TEST(Stop, Playing); | 1157 INSTANTIATE_TEARDOWN_TEST(Stop, Playing); |
| 1173 | 1158 |
| 1174 INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer); | 1159 INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer); |
| 1175 INSTANTIATE_TEARDOWN_TEST(Error, InitAudioRenderer); | 1160 INSTANTIATE_TEARDOWN_TEST(Error, InitAudioRenderer); |
| 1176 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer); | 1161 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer); |
| 1177 INSTANTIATE_TEARDOWN_TEST(Error, Pausing); | 1162 INSTANTIATE_TEARDOWN_TEST(Error, Pausing); |
| 1178 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); | 1163 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); |
| 1179 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); | 1164 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); |
| 1180 INSTANTIATE_TEARDOWN_TEST(Error, Prerolling); | 1165 INSTANTIATE_TEARDOWN_TEST(Error, Prerolling); |
| 1181 INSTANTIATE_TEARDOWN_TEST(Error, Starting); | |
| 1182 INSTANTIATE_TEARDOWN_TEST(Error, Playing); | 1166 INSTANTIATE_TEARDOWN_TEST(Error, Playing); |
| 1183 | 1167 |
| 1184 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); | 1168 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); |
| 1185 | 1169 |
| 1186 } // namespace media | 1170 } // namespace media |
| OLD | NEW |