OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/callback.h" | 5 #include "base/callback.h" |
6 #include "base/process_util.h" | 6 #include "base/process_util.h" |
7 #include "chrome/common/render_messages.h" | 7 #include "chrome/common/render_messages.h" |
8 #include "chrome/common/render_messages_params.h" | 8 #include "chrome/common/render_messages_params.h" |
9 #include "chrome/renderer/media/audio_renderer_impl.h" | 9 #include "chrome/renderer/media/audio_renderer_impl.h" |
10 #include "media/base/data_buffer.h" | 10 #include "media/base/data_buffer.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 // Run AudioMessageFilter::Delegate methods, which can be executed after being | 120 // Run AudioMessageFilter::Delegate methods, which can be executed after being |
121 // stopped. AudioRendererImpl shouldn't create any messages. | 121 // stopped. AudioRendererImpl shouldn't create any messages. |
122 renderer_->OnRequestPacket(AudioBuffersState(kSize, 0)); | 122 renderer_->OnRequestPacket(AudioBuffersState(kSize, 0)); |
123 renderer_->OnStateChanged(kError); | 123 renderer_->OnStateChanged(kError); |
124 renderer_->OnStateChanged(kPlaying); | 124 renderer_->OnStateChanged(kPlaying); |
125 renderer_->OnStateChanged(kPaused); | 125 renderer_->OnStateChanged(kPaused); |
126 renderer_->OnCreated(shared_mem_.handle(), kSize); | 126 renderer_->OnCreated(shared_mem_.handle(), kSize); |
127 renderer_->OnVolume(0.5); | 127 renderer_->OnVolume(0.5); |
128 | 128 |
129 // It's possible that the upstream decoder replies right after being stopped. | 129 // It's possible that the upstream decoder replies right after being stopped. |
130 scoped_refptr<media::Buffer> buffer = new media::DataBuffer(kSize); | 130 scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize)); |
131 renderer_->ConsumeAudioSamples(buffer); | 131 renderer_->ConsumeAudioSamples(buffer); |
132 } | 132 } |
133 | 133 |
134 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetPlaybackRate) { | 134 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetPlaybackRate) { |
135 // Kill the message loop and verify SetPlaybackRate() still works. | 135 // Kill the message loop and verify SetPlaybackRate() still works. |
136 message_loop_.reset(); | 136 message_loop_.reset(); |
137 renderer_->SetPlaybackRate(0.0f); | 137 renderer_->SetPlaybackRate(0.0f); |
138 renderer_->SetPlaybackRate(1.0f); | 138 renderer_->SetPlaybackRate(1.0f); |
139 renderer_->SetPlaybackRate(0.0f); | 139 renderer_->SetPlaybackRate(0.0f); |
140 EXPECT_CALL(stop_callback_, OnFilterCallback()); | 140 EXPECT_CALL(stop_callback_, OnFilterCallback()); |
141 renderer_->Stop(stop_callback_.NewCallback()); | 141 renderer_->Stop(stop_callback_.NewCallback()); |
142 } | 142 } |
143 | 143 |
144 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetVolume) { | 144 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetVolume) { |
145 // Kill the message loop and verify SetVolume() still works. | 145 // Kill the message loop and verify SetVolume() still works. |
146 message_loop_.reset(); | 146 message_loop_.reset(); |
147 renderer_->SetVolume(0.5f); | 147 renderer_->SetVolume(0.5f); |
148 EXPECT_CALL(stop_callback_, OnFilterCallback()); | 148 EXPECT_CALL(stop_callback_, OnFilterCallback()); |
149 renderer_->Stop(stop_callback_.NewCallback()); | 149 renderer_->Stop(stop_callback_.NewCallback()); |
150 } | 150 } |
151 | 151 |
152 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_ConsumeAudioSamples) { | 152 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_ConsumeAudioSamples) { |
153 // Kill the message loop and verify OnReadComplete() still works. | 153 // Kill the message loop and verify OnReadComplete() still works. |
154 message_loop_.reset(); | 154 message_loop_.reset(); |
155 scoped_refptr<media::Buffer> buffer = new media::DataBuffer(kSize); | 155 scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize)); |
156 renderer_->ConsumeAudioSamples(buffer); | 156 renderer_->ConsumeAudioSamples(buffer); |
157 EXPECT_CALL(stop_callback_, OnFilterCallback()); | 157 EXPECT_CALL(stop_callback_, OnFilterCallback()); |
158 renderer_->Stop(stop_callback_.NewCallback()); | 158 renderer_->Stop(stop_callback_.NewCallback()); |
159 } | 159 } |
OLD | NEW |