summaryrefslogtreecommitdiff
path: root/chromium/media/audio/audio_input_device.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/audio/audio_input_device.cc')
-rw-r--r--chromium/media/audio/audio_input_device.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/chromium/media/audio/audio_input_device.cc b/chromium/media/audio/audio_input_device.cc
index 290102d4b7f..9b8ccfa6bcf 100644
--- a/chromium/media/audio/audio_input_device.cc
+++ b/chromium/media/audio/audio_input_device.cc
@@ -104,6 +104,14 @@ AudioInputDevice::AudioInputDevice(
void AudioInputDevice::Initialize(const AudioParameters& params,
CaptureCallback* callback,
int session_id) {
+ task_runner()->PostTask(
+ FROM_HERE, base::BindOnce(&AudioInputDevice::InitializeOnIOThread, this,
+ params, callback, session_id));
+}
+
+void AudioInputDevice::InitializeOnIOThread(const AudioParameters& params,
+ CaptureCallback* callback,
+ int session_id) {
DCHECK(params.IsValid());
DCHECK(!callback_);
DCHECK_EQ(0, session_id_);
@@ -113,7 +121,6 @@ void AudioInputDevice::Initialize(const AudioParameters& params,
}
void AudioInputDevice::Start() {
- DCHECK(callback_) << "Initialize hasn't been called";
DVLOG(1) << "Start()";
task_runner()->PostTask(
FROM_HERE, base::BindOnce(&AudioInputDevice::StartUpOnIOThread, this));
@@ -275,6 +282,7 @@ AudioInputDevice::~AudioInputDevice() {
void AudioInputDevice::StartUpOnIOThread() {
DCHECK(task_runner()->BelongsToCurrentThread());
+ DCHECK(callback_) << "Initialize hasn't been called";
// Make sure we don't call Start() more than once.
if (state_ != IDLE)