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

Side by Side Diff: media/renderers/audio_renderer_impl_unittest.cc

Issue 1094783002: Switch to double for time calculations using playback rate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Making changes at chromecast side to fix trybots Created 5 years, 8 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
« no previous file with comments | « media/renderers/audio_renderer_impl.cc ('k') | media/renderers/renderer_impl.h » ('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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/callback_helpers.h" 6 #include "base/callback_helpers.h"
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "media/base/audio_buffer_converter.h" 10 #include "media/base/audio_buffer_converter.h"
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 // Fill entire buffer to complete prerolling. 205 // Fill entire buffer to complete prerolling.
206 renderer_->SetMediaTime(start_timestamp); 206 renderer_->SetMediaTime(start_timestamp);
207 renderer_->StartPlaying(); 207 renderer_->StartPlaying();
208 WaitForPendingRead(); 208 WaitForPendingRead();
209 EXPECT_CALL(*this, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH)); 209 EXPECT_CALL(*this, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
210 DeliverRemainingAudio(); 210 DeliverRemainingAudio();
211 } 211 }
212 212
213 void StartTicking() { 213 void StartTicking() {
214 renderer_->StartTicking(); 214 renderer_->StartTicking();
215 renderer_->SetPlaybackRate(1.0f); 215 renderer_->SetPlaybackRate(1.0);
216 } 216 }
217 217
218 void StopTicking() { renderer_->StopTicking(); } 218 void StopTicking() { renderer_->StopTicking(); }
219 219
220 bool IsReadPending() const { 220 bool IsReadPending() const {
221 return !decode_cb_.is_null(); 221 return !decode_cb_.is_null();
222 } 222 }
223 223
224 void WaitForPendingRead() { 224 void WaitForPendingRead() {
225 SCOPED_TRACE("WaitForPendingRead()"); 225 SCOPED_TRACE("WaitForPendingRead()");
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 } 714 }
715 715
716 // Test for AudioRendererImpl calling Pause()/Play() on the sink when the 716 // Test for AudioRendererImpl calling Pause()/Play() on the sink when the
717 // playback rate is set to zero and non-zero. 717 // playback rate is set to zero and non-zero.
718 TEST_F(AudioRendererImplTest, SetPlaybackRate) { 718 TEST_F(AudioRendererImplTest, SetPlaybackRate) {
719 Initialize(); 719 Initialize();
720 Preroll(); 720 Preroll();
721 721
722 // Rendering hasn't started. Sink should always be paused. 722 // Rendering hasn't started. Sink should always be paused.
723 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); 723 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state());
724 renderer_->SetPlaybackRate(0.0f); 724 renderer_->SetPlaybackRate(0.0);
725 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); 725 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state());
726 renderer_->SetPlaybackRate(1.0f); 726 renderer_->SetPlaybackRate(1.0);
727 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); 727 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state());
728 728
729 // Rendering has started with non-zero rate. Rate changes will affect sink 729 // Rendering has started with non-zero rate. Rate changes will affect sink
730 // state. 730 // state.
731 renderer_->StartTicking(); 731 renderer_->StartTicking();
732 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state()); 732 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state());
733 renderer_->SetPlaybackRate(0.0f); 733 renderer_->SetPlaybackRate(0.0);
734 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); 734 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state());
735 renderer_->SetPlaybackRate(1.0f); 735 renderer_->SetPlaybackRate(1.0);
736 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state()); 736 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state());
737 737
738 // Rendering has stopped. Sink should be paused. 738 // Rendering has stopped. Sink should be paused.
739 renderer_->StopTicking(); 739 renderer_->StopTicking();
740 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); 740 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state());
741 741
742 // Start rendering with zero playback rate. Sink should be paused until 742 // Start rendering with zero playback rate. Sink should be paused until
743 // non-zero rate is set. 743 // non-zero rate is set.
744 renderer_->SetPlaybackRate(0.0f); 744 renderer_->SetPlaybackRate(0.0);
745 renderer_->StartTicking(); 745 renderer_->StartTicking();
746 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); 746 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state());
747 renderer_->SetPlaybackRate(1.0f); 747 renderer_->SetPlaybackRate(1.0);
748 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state()); 748 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state());
749 } 749 }
750 750
751 } // namespace media 751 } // namespace media
OLDNEW
« no previous file with comments | « media/renderers/audio_renderer_impl.cc ('k') | media/renderers/renderer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698