| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this |
| 2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
| 3 // LICENSE file. | 3 // LICENSE file. |
| 4 | 4 |
| 5 #include <math.h> | 5 #include <math.h> |
| 6 | 6 |
| 7 #include "chrome/common/render_messages.h" | 7 #include "chrome/common/render_messages.h" |
| 8 #include "chrome/renderer/audio_message_filter.h" | 8 #include "chrome/renderer/audio_message_filter.h" |
| 9 #include "chrome/renderer/media/audio_renderer_impl.h" | 9 #include "chrome/renderer/media/audio_renderer_impl.h" |
| 10 #include "chrome/renderer/render_view.h" | 10 #include "chrome/renderer/render_view.h" |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 io_loop_->PostTask( | 140 io_loop_->PostTask( |
| 141 FROM_HERE, | 141 FROM_HERE, |
| 142 NewRunnableMethod(this, &AudioRendererImpl::OnNotifyPacketReady)); | 142 NewRunnableMethod(this, &AudioRendererImpl::OnNotifyPacketReady)); |
| 143 } | 143 } |
| 144 } | 144 } |
| 145 | 145 |
| 146 void AudioRendererImpl::SetVolume(float volume) { | 146 void AudioRendererImpl::SetVolume(float volume) { |
| 147 AutoLock auto_lock(lock_); | 147 AutoLock auto_lock(lock_); |
| 148 if (stopped_) | 148 if (stopped_) |
| 149 return; | 149 return; |
| 150 // TODO(hclam): change this to multichannel if possible. | |
| 151 io_loop_->PostTask(FROM_HERE, | 150 io_loop_->PostTask(FROM_HERE, |
| 152 NewRunnableMethod( | 151 NewRunnableMethod( |
| 153 this, &AudioRendererImpl::OnSetVolume, volume, volume)); | 152 this, &AudioRendererImpl::OnSetVolume, volume)); |
| 154 } | 153 } |
| 155 | 154 |
| 156 void AudioRendererImpl::OnCreated(base::SharedMemoryHandle handle, | 155 void AudioRendererImpl::OnCreated(base::SharedMemoryHandle handle, |
| 157 size_t length) { | 156 size_t length) { |
| 158 DCHECK(MessageLoop::current() == io_loop_); | 157 DCHECK(MessageLoop::current() == io_loop_); |
| 159 | 158 |
| 160 AutoLock auto_lock(lock_); | 159 AutoLock auto_lock(lock_); |
| 161 if (stopped_) | 160 if (stopped_) |
| 162 return; | 161 return; |
| 163 | 162 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 // TODO(hclam): handle these events. | 203 // TODO(hclam): handle these events. |
| 205 case ViewMsg_AudioStreamState::kPlaying: | 204 case ViewMsg_AudioStreamState::kPlaying: |
| 206 case ViewMsg_AudioStreamState::kPaused: | 205 case ViewMsg_AudioStreamState::kPaused: |
| 207 break; | 206 break; |
| 208 default: | 207 default: |
| 209 NOTREACHED(); | 208 NOTREACHED(); |
| 210 break; | 209 break; |
| 211 } | 210 } |
| 212 } | 211 } |
| 213 | 212 |
| 214 void AudioRendererImpl::OnVolume(double left, double right) { | 213 void AudioRendererImpl::OnVolume(double volume) { |
| 215 // TODO(hclam): decide whether we need to report the current volume to | 214 // TODO(hclam): decide whether we need to report the current volume to |
| 216 // pipeline. | 215 // pipeline. |
| 217 } | 216 } |
| 218 | 217 |
| 219 void AudioRendererImpl::OnCreateStream( | 218 void AudioRendererImpl::OnCreateStream( |
| 220 AudioManager::Format format, int channels, int sample_rate, | 219 AudioManager::Format format, int channels, int sample_rate, |
| 221 int bits_per_sample, size_t packet_size, size_t buffer_capacity) { | 220 int bits_per_sample, size_t packet_size, size_t buffer_capacity) { |
| 222 DCHECK(MessageLoop::current() == io_loop_); | 221 DCHECK(MessageLoop::current() == io_loop_); |
| 223 | 222 |
| 224 AutoLock auto_lock(lock_); | 223 AutoLock auto_lock(lock_); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 252 filter_->Send(new ViewHostMsg_PauseAudioStream(0, stream_id_)); | 251 filter_->Send(new ViewHostMsg_PauseAudioStream(0, stream_id_)); |
| 253 } | 252 } |
| 254 | 253 |
| 255 void AudioRendererImpl::OnDestroy() { | 254 void AudioRendererImpl::OnDestroy() { |
| 256 DCHECK(MessageLoop::current() == io_loop_); | 255 DCHECK(MessageLoop::current() == io_loop_); |
| 257 | 256 |
| 258 filter_->RemoveDelegate(stream_id_); | 257 filter_->RemoveDelegate(stream_id_); |
| 259 filter_->Send(new ViewHostMsg_CloseAudioStream(0, stream_id_)); | 258 filter_->Send(new ViewHostMsg_CloseAudioStream(0, stream_id_)); |
| 260 } | 259 } |
| 261 | 260 |
| 262 void AudioRendererImpl::OnSetVolume(double left, double right) { | 261 void AudioRendererImpl::OnSetVolume(double volume) { |
| 263 DCHECK(MessageLoop::current() == io_loop_); | 262 DCHECK(MessageLoop::current() == io_loop_); |
| 264 | 263 |
| 265 AutoLock auto_lock(lock_); | 264 AutoLock auto_lock(lock_); |
| 266 if (stopped_) | 265 if (stopped_) |
| 267 return; | 266 return; |
| 268 filter_->Send(new ViewHostMsg_SetAudioVolume(0, stream_id_, left, right)); | 267 filter_->Send(new ViewHostMsg_SetAudioVolume(0, stream_id_, volume)); |
| 269 } | 268 } |
| 270 | 269 |
| 271 void AudioRendererImpl::OnNotifyPacketReady() { | 270 void AudioRendererImpl::OnNotifyPacketReady() { |
| 272 DCHECK(MessageLoop::current() == io_loop_); | 271 DCHECK(MessageLoop::current() == io_loop_); |
| 273 | 272 |
| 274 AutoLock auto_lock(lock_); | 273 AutoLock auto_lock(lock_); |
| 275 if (stopped_) | 274 if (stopped_) |
| 276 return; | 275 return; |
| 277 if (pending_request_ && GetPlaybackRate() > 0.0f) { | 276 if (pending_request_ && GetPlaybackRate() > 0.0f) { |
| 278 DCHECK(shared_memory_.get()); | 277 DCHECK(shared_memory_.get()); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 prerolling_ = false; | 317 prerolling_ = false; |
| 319 preroll_bytes_ = 0; | 318 preroll_bytes_ = 0; |
| 320 filter_->Send(new ViewHostMsg_PlayAudioStream(0, stream_id_)); | 319 filter_->Send(new ViewHostMsg_PlayAudioStream(0, stream_id_)); |
| 321 } else { | 320 } else { |
| 322 preroll_bytes_ -= filled; | 321 preroll_bytes_ -= filled; |
| 323 } | 322 } |
| 324 } | 323 } |
| 325 } | 324 } |
| 326 } | 325 } |
| 327 } | 326 } |
| OLD | NEW |