| 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 |