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 "chrome/renderer/media/audio_renderer_impl.h" | 5 #include "chrome/renderer/media/audio_renderer_impl.h" |
6 #include "chrome/renderer/render_view.h" | 6 #include "chrome/renderer/render_view.h" |
7 #include "chrome/renderer/render_thread.h" | 7 #include "chrome/renderer/render_thread.h" |
8 #include "chrome/renderer/webmediaplayer_delegate_impl.h" | 8 #include "chrome/renderer/webmediaplayer_delegate_impl.h" |
9 #include "media/base/filter_host.h" | 9 #include "media/base/filter_host.h" |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 render_loop_(RenderThread::current()->message_loop()), | 22 render_loop_(RenderThread::current()->message_loop()), |
23 resource_release_event_(true, false) { | 23 resource_release_event_(true, false) { |
24 // TODO(hclam): do we need to move this method call to render thread? | 24 // TODO(hclam): do we need to move this method call to render thread? |
25 delegate_->SetAudioRenderer(this); | 25 delegate_->SetAudioRenderer(this); |
26 } | 26 } |
27 | 27 |
28 AudioRendererImpl::~AudioRendererImpl() { | 28 AudioRendererImpl::~AudioRendererImpl() { |
29 } | 29 } |
30 | 30 |
31 bool AudioRendererImpl::IsMediaFormatSupported( | 31 bool AudioRendererImpl::IsMediaFormatSupported( |
32 const media::MediaFormat* media_format) { | 32 const media::MediaFormat& media_format) { |
33 int channels; | 33 int channels; |
34 int sample_rate; | 34 int sample_rate; |
35 int sample_bits; | 35 int sample_bits; |
36 return ParseMediaFormat(media_format, &channels, &sample_rate, &sample_bits); | 36 return ParseMediaFormat(media_format, &channels, &sample_rate, &sample_bits); |
37 } | 37 } |
38 | 38 |
39 bool AudioRendererImpl::OnInitialize(const media::MediaFormat* media_format) { | 39 bool AudioRendererImpl::OnInitialize(const media::MediaFormat& media_format) { |
40 // Parse integer values in MediaFormat. | 40 // Parse integer values in MediaFormat. |
41 int channels; | 41 int channels; |
42 int sample_rate; | 42 int sample_rate; |
43 int sample_bits; | 43 int sample_bits; |
44 if (!ParseMediaFormat(media_format, &channels, &sample_rate, &sample_bits)) { | 44 if (!ParseMediaFormat(media_format, &channels, &sample_rate, &sample_bits)) { |
45 return false; | 45 return false; |
46 } | 46 } |
47 | 47 |
48 // Create the audio output stream in browser process. | 48 // Create the audio output stream in browser process. |
49 size_t packet_size = kSamplesPerBuffer * channels * sample_bits / 8; | 49 size_t packet_size = kSamplesPerBuffer * channels * sample_bits / 8; |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 if (packet_requested_) { | 149 if (packet_requested_) { |
150 DCHECK(shared_memory_.get()); | 150 DCHECK(shared_memory_.get()); |
151 // Fill into the shared memory. | 151 // Fill into the shared memory. |
152 size_t filled = FillBuffer(static_cast<uint8*>(shared_memory_->memory()), | 152 size_t filled = FillBuffer(static_cast<uint8*>(shared_memory_->memory()), |
153 shared_memory_size_); | 153 shared_memory_size_); |
154 packet_requested_ = false; | 154 packet_requested_ = false; |
155 // Then tell browser process we are done filling into the buffer. | 155 // Then tell browser process we are done filling into the buffer. |
156 delegate_->view()->NotifyAudioPacketReady(stream_id_, filled); | 156 delegate_->view()->NotifyAudioPacketReady(stream_id_, filled); |
157 } | 157 } |
158 } | 158 } |
159 | |
160 const media::MediaFormat* AudioRendererImpl::GetMediaFormat() { | |
161 return &media_format_; | |
162 } | |
OLD | NEW |