Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: media/blink/webaudiosourceprovider_impl.cc

Issue 1904253002: Convert //media/blink from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "media/blink/webaudiosourceprovider_impl.h" 5 #include "media/blink/webaudiosourceprovider_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h"
13 #include "media/base/bind_to_current_loop.h" 14 #include "media/base/bind_to_current_loop.h"
14 #include "third_party/WebKit/public/platform/WebAudioSourceProviderClient.h" 15 #include "third_party/WebKit/public/platform/WebAudioSourceProviderClient.h"
15 16
16 using blink::WebVector; 17 using blink::WebVector;
17 18
18 namespace media { 19 namespace media {
19 20
20 namespace { 21 namespace {
21 22
22 // Simple helper class for Try() locks. Lock is Try()'d on construction and 23 // Simple helper class for Try() locks. Lock is Try()'d on construction and
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 callback.Run(media::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL); 214 callback.Run(media::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL);
214 else 215 else
215 sink_->SwitchOutputDevice(device_id, security_origin, callback); 216 sink_->SwitchOutputDevice(device_id, security_origin, callback);
216 } 217 }
217 218
218 void WebAudioSourceProviderImpl::Initialize(const AudioParameters& params, 219 void WebAudioSourceProviderImpl::Initialize(const AudioParameters& params,
219 RenderCallback* renderer) { 220 RenderCallback* renderer) {
220 base::AutoLock auto_lock(sink_lock_); 221 base::AutoLock auto_lock(sink_lock_);
221 DCHECK_EQ(state_, kStopped); 222 DCHECK_EQ(state_, kStopped);
222 223
223 tee_filter_ = make_scoped_ptr( 224 tee_filter_ = base::WrapUnique(
224 new TeeFilter(renderer, params.channels(), params.sample_rate())); 225 new TeeFilter(renderer, params.channels(), params.sample_rate()));
225 226
226 sink_->Initialize(params, tee_filter_.get()); 227 sink_->Initialize(params, tee_filter_.get());
227 228
228 if (!set_format_cb_.is_null()) 229 if (!set_format_cb_.is_null())
229 base::ResetAndReturn(&set_format_cb_).Run(); 230 base::ResetAndReturn(&set_format_cb_).Run();
230 } 231 }
231 232
232 void WebAudioSourceProviderImpl::SetCopyAudioCallback( 233 void WebAudioSourceProviderImpl::SetCopyAudioCallback(
233 const CopyAudioCB& callback) { 234 const CopyAudioCB& callback) {
(...skipping 20 matching lines...) Expand all
254 return tee_filter_->Render(audio_bus, 0, 0); 255 return tee_filter_->Render(audio_bus, 0, 0);
255 } 256 }
256 257
257 int WebAudioSourceProviderImpl::TeeFilter::Render(AudioBus* audio_bus, 258 int WebAudioSourceProviderImpl::TeeFilter::Render(AudioBus* audio_bus,
258 uint32_t delay_milliseconds, 259 uint32_t delay_milliseconds,
259 uint32_t frames_skipped) { 260 uint32_t frames_skipped) {
260 const int num_rendered_frames = 261 const int num_rendered_frames =
261 renderer_->Render(audio_bus, delay_milliseconds, frames_skipped); 262 renderer_->Render(audio_bus, delay_milliseconds, frames_skipped);
262 263
263 if (!copy_audio_bus_callback_.is_null()) { 264 if (!copy_audio_bus_callback_.is_null()) {
264 scoped_ptr<AudioBus> bus_copy = 265 std::unique_ptr<AudioBus> bus_copy =
265 AudioBus::Create(audio_bus->channels(), audio_bus->frames()); 266 AudioBus::Create(audio_bus->channels(), audio_bus->frames());
266 audio_bus->CopyTo(bus_copy.get()); 267 audio_bus->CopyTo(bus_copy.get());
267 copy_audio_bus_callback_.Run(std::move(bus_copy), delay_milliseconds, 268 copy_audio_bus_callback_.Run(std::move(bus_copy), delay_milliseconds,
268 sample_rate_); 269 sample_rate_);
269 } 270 }
270 271
271 return num_rendered_frames; 272 return num_rendered_frames;
272 } 273 }
273 274
274 void WebAudioSourceProviderImpl::TeeFilter::OnRenderError() { 275 void WebAudioSourceProviderImpl::TeeFilter::OnRenderError() {
275 renderer_->OnRenderError(); 276 renderer_->OnRenderError();
276 } 277 }
277 278
278 } // namespace media 279 } // namespace media
OLDNEW
« no previous file with comments | « media/blink/webaudiosourceprovider_impl.h ('k') | media/blink/webaudiosourceprovider_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698