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

Side by Side Diff: content/renderer/pepper/pepper_platform_audio_output_impl.cc

Issue 15984016: Call scoped_refptr<T>::get() rather than relying on implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/renderer/pepper/pepper_platform_audio_output_impl.h" 5 #include "content/renderer/pepper/pepper_platform_audio_output_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 int length) { 75 int length) {
76 #if defined(OS_WIN) 76 #if defined(OS_WIN)
77 DCHECK(handle); 77 DCHECK(handle);
78 DCHECK(socket_handle); 78 DCHECK(socket_handle);
79 #else 79 #else
80 DCHECK_NE(-1, handle.fd); 80 DCHECK_NE(-1, handle.fd);
81 DCHECK_NE(-1, socket_handle); 81 DCHECK_NE(-1, socket_handle);
82 #endif 82 #endif
83 DCHECK(length); 83 DCHECK(length);
84 84
85 if (base::MessageLoopProxy::current() == main_message_loop_proxy_) { 85 if (base::MessageLoopProxy::current().get() == main_message_loop_proxy_) {
86 // Must dereference the client only on the main thread. Shutdown may have 86 // Must dereference the client only on the main thread. Shutdown may have
87 // occurred while the request was in-flight, so we need to NULL check. 87 // occurred while the request was in-flight, so we need to NULL check.
88 if (client_) 88 if (client_)
89 client_->StreamCreated(handle, length, socket_handle); 89 client_->StreamCreated(handle, length, socket_handle);
90 } else { 90 } else {
91 main_message_loop_proxy_->PostTask(FROM_HERE, 91 main_message_loop_proxy_->PostTask(FROM_HERE,
92 base::Bind(&PepperPlatformAudioOutputImpl::OnStreamCreated, this, 92 base::Bind(&PepperPlatformAudioOutputImpl::OnStreamCreated, this,
93 handle, socket_handle, length)); 93 handle, socket_handle, length));
94 } 94 }
95 } 95 }
96 96
97 void PepperPlatformAudioOutputImpl::OnIPCClosed() { 97 void PepperPlatformAudioOutputImpl::OnIPCClosed() {
98 ipc_.reset(); 98 ipc_.reset();
99 } 99 }
100 100
101 PepperPlatformAudioOutputImpl::~PepperPlatformAudioOutputImpl() { 101 PepperPlatformAudioOutputImpl::~PepperPlatformAudioOutputImpl() {
102 // Make sure we have been shut down. Warning: this will usually happen on 102 // Make sure we have been shut down. Warning: this will usually happen on
103 // the I/O thread! 103 // the I/O thread!
104 DCHECK(!ipc_); 104 DCHECK(!ipc_);
105 DCHECK(!client_); 105 DCHECK(!client_);
106 } 106 }
107 107
108 PepperPlatformAudioOutputImpl::PepperPlatformAudioOutputImpl() 108 PepperPlatformAudioOutputImpl::PepperPlatformAudioOutputImpl()
109 : client_(NULL), 109 : client_(NULL),
110 main_message_loop_proxy_(base::MessageLoopProxy::current()) { 110 main_message_loop_proxy_(base::MessageLoopProxy::current().get()) {}
111 }
112 111
113 bool PepperPlatformAudioOutputImpl::Initialize( 112 bool PepperPlatformAudioOutputImpl::Initialize(
114 int sample_rate, 113 int sample_rate,
115 int frames_per_buffer, 114 int frames_per_buffer,
116 int source_render_view_id, 115 int source_render_view_id,
117 webkit::ppapi::PluginDelegate::PlatformAudioOutputClient* client) { 116 webkit::ppapi::PluginDelegate::PlatformAudioOutputClient* client) {
118 DCHECK(client); 117 DCHECK(client);
119 client_ = client; 118 client_ = client;
120 119
121 RenderThreadImpl* const render_thread = RenderThreadImpl::current(); 120 RenderThreadImpl* const render_thread = RenderThreadImpl::current();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 return; 165 return;
167 166
168 ipc_->CloseStream(); 167 ipc_->CloseStream();
169 ipc_.reset(); 168 ipc_.reset();
170 169
171 Release(); // Release for the delegate, balances out the reference taken in 170 Release(); // Release for the delegate, balances out the reference taken in
172 // PepperPluginDelegateImpl::CreateAudio. 171 // PepperPluginDelegateImpl::CreateAudio.
173 } 172 }
174 173
175 } // namespace content 174 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_platform_audio_input_impl.cc ('k') | content/renderer/pepper/pepper_plugin_delegate_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698