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

Side by Side Diff: media/base/pipeline_unittest.cc

Issue 276973004: Introduce audio/video BufferingState to Pipeline. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixes Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « media/base/pipeline.cc ('k') | media/media.gyp » ('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 (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
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
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
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
OLDNEW
« no previous file with comments | « media/base/pipeline.cc ('k') | media/media.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698