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

Side by Side Diff: media/audio/win/wavein_input_win.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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 (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 "media/audio/win/wavein_input_win.h" 5 #include "media/audio/win/wavein_input_win.h"
6 6
7 #pragma comment(lib, "winmm.lib") 7 #pragma comment(lib, "winmm.lib")
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "media/audio/audio_io.h" 10 #include "media/audio/audio_io.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 79
80 SetupBuffers(); 80 SetupBuffers();
81 state_ = kStateReady; 81 state_ = kStateReady;
82 return true; 82 return true;
83 } 83 }
84 84
85 void PCMWaveInAudioInputStream::SetupBuffers() { 85 void PCMWaveInAudioInputStream::SetupBuffers() {
86 WAVEHDR* last = NULL; 86 WAVEHDR* last = NULL;
87 WAVEHDR* first = NULL; 87 WAVEHDR* first = NULL;
88 for (int ix = 0; ix != num_buffers_; ++ix) { 88 for (int ix = 0; ix != num_buffers_; ++ix) {
89 uint32 sz = sizeof(WAVEHDR) + buffer_size_; 89 uint32_t sz = sizeof(WAVEHDR) + buffer_size_;
90 buffer_ = reinterpret_cast<WAVEHDR*>(new char[sz]); 90 buffer_ = reinterpret_cast<WAVEHDR*>(new char[sz]);
91 buffer_->lpData = reinterpret_cast<char*>(buffer_) + sizeof(WAVEHDR); 91 buffer_->lpData = reinterpret_cast<char*>(buffer_) + sizeof(WAVEHDR);
92 buffer_->dwBufferLength = buffer_size_; 92 buffer_->dwBufferLength = buffer_size_;
93 buffer_->dwBytesRecorded = 0; 93 buffer_->dwBytesRecorded = 0;
94 buffer_->dwUser = reinterpret_cast<DWORD_PTR>(last); 94 buffer_->dwUser = reinterpret_cast<DWORD_PTR>(last);
95 buffer_->dwFlags = WHDR_DONE; 95 buffer_->dwFlags = WHDR_DONE;
96 buffer_->dwLoops = 0; 96 buffer_->dwLoops = 0;
97 if (ix == 0) 97 if (ix == 0)
98 first = buffer_; 98 first = buffer_;
99 last = buffer_; 99 last = buffer_;
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 if (msg == WIM_DATA) { 293 if (msg == WIM_DATA) {
294 // The WIM_DATA message is sent when waveform-audio data is present in 294 // The WIM_DATA message is sent when waveform-audio data is present in
295 // the input buffer and the buffer is being returned to the application. 295 // the input buffer and the buffer is being returned to the application.
296 // The message can be sent when the buffer is full or after the 296 // The message can be sent when the buffer is full or after the
297 // waveInReset function is called. 297 // waveInReset function is called.
298 if (obj->callback_) { 298 if (obj->callback_) {
299 // TODO(henrika): the |volume| parameter is always set to zero since 299 // TODO(henrika): the |volume| parameter is always set to zero since
300 // there is currently no support for controlling the microphone volume 300 // there is currently no support for controlling the microphone volume
301 // level. 301 // level.
302 WAVEHDR* buffer = reinterpret_cast<WAVEHDR*>(param1); 302 WAVEHDR* buffer = reinterpret_cast<WAVEHDR*>(param1);
303 obj->audio_bus_->FromInterleaved(reinterpret_cast<uint8*>(buffer->lpData), 303 obj->audio_bus_->FromInterleaved(
304 obj->audio_bus_->frames(), 304 reinterpret_cast<uint8_t*>(buffer->lpData), obj->audio_bus_->frames(),
305 obj->format_.wBitsPerSample / 8); 305 obj->format_.wBitsPerSample / 8);
306 obj->callback_->OnData( 306 obj->callback_->OnData(
307 obj, obj->audio_bus_.get(), buffer->dwBytesRecorded, 0.0); 307 obj, obj->audio_bus_.get(), buffer->dwBytesRecorded, 0.0);
308 308
309 // Queue the finished buffer back with the audio driver. Since we are 309 // Queue the finished buffer back with the audio driver. Since we are
310 // reusing the same buffers we can get away without calling 310 // reusing the same buffers we can get away without calling
311 // waveInPrepareHeader. 311 // waveInPrepareHeader.
312 obj->QueueNextPacket(buffer); 312 obj->QueueNextPacket(buffer);
313 } else { 313 } else {
314 // Main thread has called Stop() and set |callback_| to NULL and is 314 // Main thread has called Stop() and set |callback_| to NULL and is
315 // now waiting to issue waveInReset which will kill this thread. 315 // now waiting to issue waveInReset which will kill this thread.
316 // We should not call AudioSourceCallback code anymore. 316 // We should not call AudioSourceCallback code anymore.
317 ::SetEvent(obj->stopped_event_.Get()); 317 ::SetEvent(obj->stopped_event_.Get());
318 } 318 }
319 } else if (msg == WIM_CLOSE) { 319 } else if (msg == WIM_CLOSE) {
320 // Intentionaly no-op for now. 320 // Intentionaly no-op for now.
321 } else if (msg == WIM_OPEN) { 321 } else if (msg == WIM_OPEN) {
322 // Intentionaly no-op for now. 322 // Intentionaly no-op for now.
323 } 323 }
324 } 324 }
325 325
326 } // namespace media 326 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698