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

Side by Side Diff: components/copresence/mediums/audio/audio_recorder_impl.cc

Issue 691223002: Replacing NULL with nullptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Using EXPECT_THAT Created 6 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/copresence/mediums/audio/audio_recorder_impl.h" 5 #include "components/copresence/mediums/audio/audio_recorder_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 content::BrowserThread::PostTask( 46 content::BrowserThread::PostTask(
47 content::BrowserThread::UI, FROM_HERE, base::Bind(callback, samples)); 47 content::BrowserThread::UI, FROM_HERE, base::Bind(callback, samples));
48 } 48 }
49 49
50 } // namespace 50 } // namespace
51 51
52 // Public methods. 52 // Public methods.
53 53
54 AudioRecorderImpl::AudioRecorderImpl() 54 AudioRecorderImpl::AudioRecorderImpl()
55 : is_recording_(false), 55 : is_recording_(false),
56 stream_(NULL), 56 stream_(nullptr),
57 temp_conversion_buffer_(NULL), 57 temp_conversion_buffer_(nullptr),
58 total_buffer_frames_(0), 58 total_buffer_frames_(0),
59 buffer_frame_index_(0) { 59 buffer_frame_index_(0) {
60 } 60 }
61 61
62 void AudioRecorderImpl::Initialize( 62 void AudioRecorderImpl::Initialize(
63 const RecordedSamplesCallback& decode_callback) { 63 const RecordedSamplesCallback& decode_callback) {
64 decode_callback_ = decode_callback; 64 decode_callback_ = decode_callback;
65 media::AudioManager::Get()->GetTaskRunner()->PostTask( 65 media::AudioManager::Get()->GetTaskRunner()->PostTask(
66 FROM_HERE, 66 FROM_HERE,
67 base::Bind(&AudioRecorderImpl::InitializeOnAudioThread, 67 base::Bind(&AudioRecorderImpl::InitializeOnAudioThread,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 125
126 stream_ = input_stream_for_testing_ 126 stream_ = input_stream_for_testing_
127 ? input_stream_for_testing_.get() 127 ? input_stream_for_testing_.get()
128 : media::AudioManager::Get()->MakeAudioInputStream( 128 : media::AudioManager::Get()->MakeAudioInputStream(
129 params, media::AudioManagerBase::kDefaultDeviceId); 129 params, media::AudioManagerBase::kDefaultDeviceId);
130 130
131 if (!stream_ || !stream_->Open()) { 131 if (!stream_ || !stream_->Open()) {
132 LOG(ERROR) << "Failed to open an input stream."; 132 LOG(ERROR) << "Failed to open an input stream.";
133 if (stream_) { 133 if (stream_) {
134 stream_->Close(); 134 stream_->Close();
135 stream_ = NULL; 135 stream_ = nullptr;
136 } 136 }
137 return; 137 return;
138 } 138 }
139 stream_->SetVolume(stream_->GetMaxVolume()); 139 stream_->SetVolume(stream_->GetMaxVolume());
140 } 140 }
141 141
142 void AudioRecorderImpl::RecordOnAudioThread() { 142 void AudioRecorderImpl::RecordOnAudioThread() {
143 DCHECK(media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread()); 143 DCHECK(media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread());
144 if (!stream_ || is_recording_) 144 if (!stream_ || is_recording_)
145 return; 145 return;
(...skipping 12 matching lines...) Expand all
158 is_recording_ = false; 158 is_recording_ = false;
159 } 159 }
160 160
161 void AudioRecorderImpl::StopAndCloseOnAudioThread() { 161 void AudioRecorderImpl::StopAndCloseOnAudioThread() {
162 DCHECK(media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread()); 162 DCHECK(media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread());
163 if (!stream_) 163 if (!stream_)
164 return; 164 return;
165 165
166 StopOnAudioThread(); 166 StopOnAudioThread();
167 stream_->Close(); 167 stream_->Close();
168 stream_ = NULL; 168 stream_ = nullptr;
169 } 169 }
170 170
171 void AudioRecorderImpl::FinalizeOnAudioThread() { 171 void AudioRecorderImpl::FinalizeOnAudioThread() {
172 DCHECK(media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread()); 172 DCHECK(media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread());
173 StopAndCloseOnAudioThread(); 173 StopAndCloseOnAudioThread();
174 delete this; 174 delete this;
175 } 175 }
176 176
177 void AudioRecorderImpl::OnData(media::AudioInputStream* stream, 177 void AudioRecorderImpl::OnData(media::AudioInputStream* stream,
178 const media::AudioBus* source, 178 const media::AudioBus* source,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 FROM_HERE, 227 FROM_HERE,
228 base::Bind(&AudioRecorderImpl::StopAndCloseOnAudioThread, 228 base::Bind(&AudioRecorderImpl::StopAndCloseOnAudioThread,
229 base::Unretained(this))); 229 base::Unretained(this)));
230 } 230 }
231 231
232 double AudioRecorderImpl::ProvideInput(media::AudioBus* dest, 232 double AudioRecorderImpl::ProvideInput(media::AudioBus* dest,
233 base::TimeDelta /* buffer_delay */) { 233 base::TimeDelta /* buffer_delay */) {
234 DCHECK(temp_conversion_buffer_); 234 DCHECK(temp_conversion_buffer_);
235 DCHECK_LE(temp_conversion_buffer_->frames(), dest->frames()); 235 DCHECK_LE(temp_conversion_buffer_->frames(), dest->frames());
236 temp_conversion_buffer_->CopyTo(dest); 236 temp_conversion_buffer_->CopyTo(dest);
237 temp_conversion_buffer_ = NULL; 237 temp_conversion_buffer_ = nullptr;
238 return 1.0; 238 return 1.0;
239 } 239 }
240 240
241 void AudioRecorderImpl::FlushAudioLoopForTesting() { 241 void AudioRecorderImpl::FlushAudioLoopForTesting() {
242 if (media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread()) 242 if (media::AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread())
243 return; 243 return;
244 244
245 // Queue task on the audio thread, when it is executed, that means we've 245 // Queue task on the audio thread, when it is executed, that means we've
246 // successfully executed all the tasks before us. 246 // successfully executed all the tasks before us.
247 base::RunLoop rl; 247 base::RunLoop rl;
248 media::AudioManager::Get()->GetTaskRunner()->PostTaskAndReply( 248 media::AudioManager::Get()->GetTaskRunner()->PostTaskAndReply(
249 FROM_HERE, 249 FROM_HERE,
250 base::Bind( 250 base::Bind(
251 base::IgnoreResult(&AudioRecorderImpl::FlushAudioLoopForTesting), 251 base::IgnoreResult(&AudioRecorderImpl::FlushAudioLoopForTesting),
252 base::Unretained(this)), 252 base::Unretained(this)),
253 rl.QuitClosure()); 253 rl.QuitClosure());
254 rl.Run(); 254 rl.Run();
255 } 255 }
256 256
257 } // namespace copresence 257 } // namespace copresence
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698