New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 607916 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Blocking:
issue 608619
issue 586427



Sign in to add a comment

Make AudioOutputDevice restartable

Project Member Reported by grunell@chromium.org, Apr 29 2016

Issue description

We need to make AudioOutputDevice restartable to be able to reuse the audio thread. This is because many sources assume that the same thread will be used and is designed with that limitation. Furthermore, to make all AudioRendererSinks restartable is a goal in itself. (Removes one interface layer.)
 
Project Member

Comment 1 by sheriffbot@chromium.org, Jun 1 2016

Labels: -M-52 M-53 MovedFrom-52
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c754510b660c9c13e754e8e01599977e5c41aad

commit 2c754510b660c9c13e754e8e01599977e5c41aad
Author: grunell <grunell@chromium.org>
Date: Fri Jun 17 15:10:32 2016

Change audio render thread checking to use new AudioRendererSink::BelongsToRendererThread().

This is required for making AudioOutputDevice restartable. We'll then spin up a new thread each Start(), and we need to deal with thread checks differently in the WebRTC audio rendering path.

This change introduces AudioRendererSink::BelongsToRendererThread(). Also MediaStreamAudioProcessor::OnRenderThreadChanged() to notify that the render thread has changed.

BUG=607916

Review-Url: https://codereview.chromium.org/2038053002
Cr-Commit-Position: refs/heads/master@{#400429}

[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/content/renderer/media/media_stream_audio_processor.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/content/renderer/media/media_stream_audio_processor.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/content/renderer/media/webrtc_audio_device_impl.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/content/renderer/media/webrtc_audio_device_impl.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/content/renderer/media/webrtc_audio_renderer.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/content/renderer/media/webrtc_audio_renderer.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/audio_device_thread.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/audio_device_thread.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/audio_output_device.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/audio_output_device.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/audio_output_stream_sink.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/audio_output_stream_sink.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/clockless_audio_sink.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/clockless_audio_sink.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/null_audio_sink.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/audio/null_audio_sink.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/base/audio_renderer_mixer_input.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/base/audio_renderer_mixer_input.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/base/audio_renderer_sink.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/base/fake_audio_renderer_sink.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/base/fake_audio_renderer_sink.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/base/mock_audio_renderer_sink.h
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/blink/webaudiosourceprovider_impl.cc
[modify] https://crrev.com/2c754510b660c9c13e754e8e01599977e5c41aad/media/blink/webaudiosourceprovider_impl.h

Project Member

Comment 4 by sheriffbot@chromium.org, Jul 11 2016

Labels: -M-53 -Pri-1 M-54 MovedFrom-53 Pri-2
This issue is Pri-1 but has already been moved once. Lowering the priority and moving to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -M-54
Blocking: 608619

Sign in to add a comment