OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/process_util.h" | 5 #include "base/process_util.h" |
6 #include "chrome/common/render_messages.h" | 6 #include "content/common/audio_messages.h" |
7 #include "chrome/common/render_messages_params.h" | |
8 #include "content/renderer/media/audio_renderer_impl.h" | 7 #include "content/renderer/media/audio_renderer_impl.h" |
9 #include "media/base/data_buffer.h" | 8 #include "media/base/data_buffer.h" |
10 #include "media/base/media_format.h" | 9 #include "media/base/media_format.h" |
11 #include "media/base/mock_callback.h" | 10 #include "media/base/mock_callback.h" |
12 #include "media/base/mock_filter_host.h" | 11 #include "media/base/mock_filter_host.h" |
13 #include "media/base/mock_filters.h" | 12 #include "media/base/mock_filters.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
15 | 14 |
16 using ::testing::ReturnRef; | 15 using ::testing::ReturnRef; |
17 | 16 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 } | 87 } |
89 | 88 |
90 TEST_F(AudioRendererImplTest, SetVolume) { | 89 TEST_F(AudioRendererImplTest, SetVolume) { |
91 // Execute SetVolume() codepath to create an IPC message. | 90 // Execute SetVolume() codepath to create an IPC message. |
92 renderer_->SetVolume(0.5f); | 91 renderer_->SetVolume(0.5f); |
93 renderer_->Stop(media::NewExpectedCallback()); | 92 renderer_->Stop(media::NewExpectedCallback()); |
94 message_loop_->RunAllPending(); | 93 message_loop_->RunAllPending(); |
95 } | 94 } |
96 | 95 |
97 TEST_F(AudioRendererImplTest, Stop) { | 96 TEST_F(AudioRendererImplTest, Stop) { |
98 // Declare some state messages. | |
99 const ViewMsg_AudioStreamState_Params kError( | |
100 ViewMsg_AudioStreamState_Params::kError); | |
101 const ViewMsg_AudioStreamState_Params kPlaying( | |
102 ViewMsg_AudioStreamState_Params::kPlaying); | |
103 const ViewMsg_AudioStreamState_Params kPaused( | |
104 ViewMsg_AudioStreamState_Params::kPaused); | |
105 | |
106 // Execute Stop() codepath to create an IPC message. | 97 // Execute Stop() codepath to create an IPC message. |
107 renderer_->Stop(media::NewExpectedCallback()); | 98 renderer_->Stop(media::NewExpectedCallback()); |
108 message_loop_->RunAllPending(); | 99 message_loop_->RunAllPending(); |
109 | 100 |
110 // Run AudioMessageFilter::Delegate methods, which can be executed after being | 101 // Run AudioMessageFilter::Delegate methods, which can be executed after being |
111 // stopped. AudioRendererImpl shouldn't create any messages. | 102 // stopped. AudioRendererImpl shouldn't create any messages. |
112 renderer_->OnRequestPacket(AudioBuffersState(kSize, 0)); | 103 renderer_->OnRequestPacket(AudioBuffersState(kSize, 0)); |
113 renderer_->OnStateChanged(kError); | 104 renderer_->OnStateChanged(kAudioStreamError); |
114 renderer_->OnStateChanged(kPlaying); | 105 renderer_->OnStateChanged(kAudioStreamPlaying); |
115 renderer_->OnStateChanged(kPaused); | 106 renderer_->OnStateChanged(kAudioStreamPaused); |
116 renderer_->OnCreated(shared_mem_.handle(), kSize); | 107 renderer_->OnCreated(shared_mem_.handle(), kSize); |
117 renderer_->OnVolume(0.5); | 108 renderer_->OnVolume(0.5); |
118 | 109 |
119 // It's possible that the upstream decoder replies right after being stopped. | 110 // It's possible that the upstream decoder replies right after being stopped. |
120 scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize)); | 111 scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize)); |
121 renderer_->ConsumeAudioSamples(buffer); | 112 renderer_->ConsumeAudioSamples(buffer); |
122 } | 113 } |
123 | 114 |
124 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetPlaybackRate) { | 115 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetPlaybackRate) { |
125 // Kill the message loop and verify SetPlaybackRate() still works. | 116 // Kill the message loop and verify SetPlaybackRate() still works. |
(...skipping 11 matching lines...) Expand all Loading... |
137 renderer_->Stop(media::NewExpectedCallback()); | 128 renderer_->Stop(media::NewExpectedCallback()); |
138 } | 129 } |
139 | 130 |
140 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_ConsumeAudioSamples) { | 131 TEST_F(AudioRendererImplTest, DestroyedMessageLoop_ConsumeAudioSamples) { |
141 // Kill the message loop and verify OnReadComplete() still works. | 132 // Kill the message loop and verify OnReadComplete() still works. |
142 message_loop_.reset(); | 133 message_loop_.reset(); |
143 scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize)); | 134 scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize)); |
144 renderer_->ConsumeAudioSamples(buffer); | 135 renderer_->ConsumeAudioSamples(buffer); |
145 renderer_->Stop(media::NewExpectedCallback()); | 136 renderer_->Stop(media::NewExpectedCallback()); |
146 } | 137 } |
OLD | NEW |